Версия на програмата за отстраняване на грешки на GDB 9

Изпратено от версия за отстраняване на грешки GDB 9.1 (първата версия на серията 9.x, клон 9.0 беше използван за разработка). GDB поддържа отстраняване на грешки на ниво източник за широк набор от езици за програмиране (Ada, C, C++, Objective-C, Pascal, Go и т.н.) на различен хардуер (i386, amd64, ARM, Power, Sparc, RISC-V и др.) и софтуерни платформи (GNU/Linux, *BSD, Unix, Windows, macOS).

Ключ подобрения:

  • Поддръжката за платформи Solaris 10 и Cell Broadband Engine е прекратена;
  • Добавен е нов симулатор на подсистемата PRU (Programmable Real-time Unit), използвана в процесорите на Texas Instruments (pru-*-elf);
  • Добавен е експериментален режим за бързо зареждане на символи за отстраняване на грешки в многонишков режим (активиран чрез настройката „maint set worker-threads unlimited“);
  • Възможно е да използвате символа '.' в имената на командите;
  • Добавена е възможност за задаване на точки на прекъсване на вложени функции и подпрограми във Fortran;
  • Извършена е работа за привеждане в унифициран стил и подобряване на четливостта на командите;
  • Реализирана е стандартна инфраструктура за предаване на командни аргументи с помощта на тире ('-OPT'), което позволява автоматично довършване с помощта на клавиша tab;
  • Командите “printf” и “eval” реализират поддръжка за извеждане на низове в C и Ada стилове без директно извикване на функция в програмата;
  • Добавена е поддръжка за филтриране на изходни файлове въз основа на регулярен израз в командата „източници на информация“;
  • В настройката „set print frame-arguments“ параметърът „presence“ е внедрен, когато е зададен, само индикаторът за присъствие „…“ се показва за аргументи, вместо показване на името и стойността;
  • В интерфейса TUI командите "focus", "winheight", "+", "-", ">", "<" вече са чувствителни към главни и малки букви;
  • За командите "print", "compile print", "backtrace", "frame"
    опциите apply", "tfaas" и "faas" са внедрени, за да отменят глобалните настройки (например тези, зададени чрез "set print […]");

  • Опцията "-q" е добавена към командата "типове информация", за да деактивира изхода на някои заглавки;
  • В настройките, вместо стойността „неограничено“, вече можете да посочите „u“;
  • Добавени са нови команди:
    • "define-prefix", за да дефинирате свои собствени префиксни команди;
    • "|" или "pipe" за изпълнение на команда и пренасочване на изхода към команда на обвивка;
    • “с” за изпълнение на посочената команда с временно променени настройки;
    • „set may-call-functions“, за да контролира дали дадена подпрограма може да бъде извикана от GDB;
    • "set print finish [on|off]" за управление на показването на върнатата стойност при използване на командата "finish";
    • „задайте максимална дълбочина на печат“, за да ограничите изхода на вложени структури;
    • “set print raw-values ​​​​[on|off]” за активиране/деактивиране на форматирането на изходни стойности;
    • „set logging debugredirect [on|off]“ за контролиране на запазването на изхода за отстраняване на грешки в лог файл;
    • Серия от нови команди за „задаване на стил“;
    • “set print frame-info […]” за определяне на информацията, която трябва да бъде отпечатана при показване на състоянието на рамката на стека;
    • „set tui compact-source“, за да разрешите компактен режим за показване на код в интерфейса TUI (текстов потребителски интерфейс);
    • „информационни модули […]“ за искане на информация относно модули Fortran;
    • Вместо „set/show print raw frame-arguments” се предлага командата „set/show print raw-frame-arguments” (използва тире вместо интервал като разделител);
  • В контролния софтуерен интерфейс GDB/MI добавени нови команди „-complete“, „-catch-throw“, „-catch-rethrow“, „-catch-catch“, „-symbol-info-functions“, „-symbol-info-types“,
    "-symbol-info-variables", "-symbol-info-modules", "-symbol-info-module-functions" и "-symbol-info-module-variables" са еквивалентни на същите GDB команди. По подразбиране е активирана третата версия на MI интерпретатора (-i=mi3);

  • Добавени са нови вградени променливи:
    • $_gdb_майор, $_gdb_минор;
    • $_gdb_setting, $_gdb_setting_str, $_gdb_maint_setting,
    • $_gdb_maint_setting_str
    • $_cimag, $_creal
    • $_shell_exitcode, $_shell_exitsignal
  • Добавена е опцията „--with-system-gdbinit-dir“ към скрипта за конфигуриране на компилация, за да се определи пътя до системните файлове на gdbinit;
  • Бяха направени редица подобрения в API на Python. Добавена е възможност за изграждане с Python 3 на Windows;
  • Повишени са изискванията към средата на сглобяване. Изграждането на GDB и GDBserver вече изисква поне GNU make 3.82. При изграждане с външна библиотека за четене е необходима поне GNU линия за четене 7.0.

Източник: opennet.ru

Добавяне на нов коментар