Представлен новый выпуск отладчика GDB 7.9, поддерживающего отладку на уровне исходных текстов для широкого спектра языков программирования (Ada, C, C++, Objective-C, Pascal, Go и т.д.) на различных аппаратных (i386, amd64, ARM, Power, Sparc и т.д.) и программных платформах (GNU/Linux, Unix, Windows, OS X).
Ключевые улучшения:
- Улучшены средства для создания вспомогательных скриптов на языке Python;
- Поддержка компиляции и подстановки исходных текстов в объект отладки (inferior). На стороне GCC поддержка новой возможности появится в выпуске 5.0, что позволит компилировать исходный код в объектный код и выполнять подстановку и выполнение полученного объектного кода в текущем контексте отлаживаемого объекта. В настоящее время поддерживается только подстановка конструкций на языке Си. Т.е. прямо в отладчике можно добавить/поправить кусок кода на языке Си и работать с ним в контексте отлаживаемого процесса или приложения. Для компиляции в GDB добавлены новые команды "compile code" и "compile file", например, для добавления новой переменной и замены значения переменной "с" при срабатывании точки останова можно указать "compile code int z = 5; c = z;", после чего при возобновлении выполнении в программе будет использоваться созданная переменная и новое значение. Более глобальной задачей проекта является обеспечение возможности использования доступных в GCC парсеров языков программирования в GDB.
- При возобновлении выполнения программы командой resume, GDB теперь всегда перенаправляет сигналы нити, которой данный сигнал адресован, даже если пользователь поменял нить во время остановки выполнения (ранее возникали ситуации, при которых сигналы перенаправлялись только к текущей на момент остановки нити);
- С другой стороны, команда "signal" теперь всегда доставляет запрошенный сигнал к текущей нити. Если программа остановлена и пользователь переключился между нитями, GDB запросит подтверждение;
- Для платформы x86 GNU Hurd добавлена поддержка аппаратных точек останова (watchpoint);
- Поддержка платформы MIPS SDE (mips*-sde*-elf*);
- Новые команды:
- add-auto-load-scripts-directory directory
- compile code [-r|-raw] [--] [source code]
- compile file [-r|-raw] filename
- demangle [-l language] [--] name
- maint print user-registers
- queue-signal signal-name-or-number
- Новые опции:
- set debug symbol-lookup
- show debug symbol-lookup
- В программный интерфейс управления GDB/MI в вывод команды "-list-thread-groups" добавлено новое поле с кодом возврата;
- Прекращена поддержка устаревших платформ: Alpha (OSF/1 и Tru64), SGI Irix-5.x, SGI Irix-6.x VAX (4.2 - 4.3 Reno) BSD, VAX Ultrix;
- Прекращена поддержка команды "dll-symbols" и связанных с ней псевдонимов "add-shared-symbol-files" и "assf". Вместо них слудует использовать команду "sharedlibrary" ("share").
|