Издание за дебагер на GDB 9

Воведени ослободување на дебагерот ГДБ 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);
  • Додаден е експериментален режим за брзо вчитување на симболи за отстранување грешки во режим со повеќе нишки (овозможено преку поставката „главен сет работник-нишки неограничени“);
  • Можно е да се користи симболот „.“ во имињата на командите;
  • Додадена е можност за поставување точки на прекин на вгнездените функции и потпрограми во Fortran;
  • Извршена е работа за да се доведе до унифициран стил и да се подобри читливоста на командите;
  • Имплементирана е стандардна инфраструктура за пренесување на командни аргументи со помош на знакот цртичка ('-OPT'), што овозможува автоматско комплетирање со помош на копчето tab;
  • Командите „printf“ и „eval“ спроведуваат поддршка за излез на стрингови во стилови C и Ada без директно повикување функција во програмата;
  • Додадена е поддршка за филтрирање на излезни датотеки врз основа на регуларен израз во командата „info sources“;
  • Во поставката „постави рамка-аргументи за печатење“, се имплементира параметарот „присуство“, кога е поставен, за аргументите се прикажува само индикаторот за присуство „…“ наместо да се прикажат името и вредноста;
  • Во интерфејсот ТУИ наредбите „focus“, „winheight“, „+“, „-“, „>“, „<“ сега се осетливи на букви;
  • За командите „print“, „compile print“, „backtrace“, „frame“
    Примени“, опциите „tfaas“ и „faas“ се имплементирани за да се отфрлат глобалните поставки (на пример, оние поставени преку „постави печатење […]“);

  • Опцијата „-q“ е додадена на командата „информации типови“ за да се оневозможи излезот на некои заглавија;
  • Во поставките, наместо „неограничената“ вредност, сега можете да наведете „u“;
  • Додадени се нови команди:
    • "define-prefix" за да ги дефинирате вашите сопствени команди за префикс;
    • "|" или „цевка“ за да изврши команда и да го пренасочи излезот кон команда на школка;
    • „со“ за да ја извршите наведената команда со привремено изменети поставки;
    • „поставете функции за може-повик“ за да контролирате дали потпрограмата може да се повика од GDB;
    • „постави завршница за печатење [вклучено|исклучено]“ за да го контролира прикажувањето на повратната вредност при користење на командата „заврши“;
    • „поставете максимална длабочина на печатење“ за да го ограничите излезот на вгнездените структури;
    • „поставете необработени вредности за печатење [вклучено|исклучено]“ за да овозможите/оневозможите форматирање на излезните вредности;
    • „постави евиденција debugredirect [вклучено|исклучено]“ за контрола на зачувувањето на излезот за отстранување грешки во датотеката за евиденција;
    • Серија нови команди „постави стил“;
    • „поставете информации за рамката за печатење […]“ за да ги дефинирате информациите што треба да се испечатат при прикажување на состојбата на рамката на оџакот;
    • „поставете tui compact-source“ за да овозможите компактен режим за прикажување код во интерфејсот TUI (Text User Interface);
    • „инфо модули […]“ за барање информации за модулите на Фортран;
    • Наместо „постави/прикажи печатење необработени рамки-аргументи“, се предлага командата „постави/прикажи печати необработени рамки-аргументи“ (користи цртичка наместо празно место како раздвојувач);
  • Во контролниот софтверски интерфејс ГДБ/МИ додаде нови команди „-заврши“, „-фати-фрлање“, „-фати-повторно фрлање“, „-фати-фати“, „-симбол-инфо-функции“, „-симбол-инфо-типови“,
    „-symbol-info-variables“, „-symbol-info-modules“, „-symbol-info-module-functions“ и „-symbol-info-module-variables“ се еквивалентни на истите GDB команди. Стандардно, третата верзија на толкувачот MI е активирана (-i=mi3);

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

Извор: opennet.ru

Додадете коментар