Vydání ladicího programu GDB 9

Předložené vydání debuggeru GDB 9.1 (první vydání řady 9.x, pro vývoj byla použita větev 9.0). GDB podporuje ladění na úrovni zdroje pro širokou škálu programovacích jazyků (Ada, C, C++, Objective-C, Pascal, Go atd.) na různém hardwaru (i386, amd64, ARM, Power, Sparc, RISC-V atd.) a softwarové platformy (GNU/Linux, *BSD, Unix, Windows, macOS).

Klíč vylepšení:

  • Podpora pro platformy Solaris 10 a Cell Broadband Engine byla ukončena;
  • Přidán nový simulátor subsystému PRU (Programmable Real-time Unit) používaného v procesorech Texas Instruments (pru-*-elf);
  • Přidán experimentální režim pro rychlé načítání ladicích symbolů ve vícevláknovém režimu (povoleno pomocí nastavení 'maint set worker-threads limited');
  • V názvech příkazů je možné použít symbol '.';
  • Přidána možnost nastavit body přerušení u vnořených funkcí a podprogramů ve Fortranu;
  • Byly provedeny práce s cílem dosáhnout jednotného stylu a zlepšit čitelnost příkazů;
  • Byla implementována standardní infrastruktura pro předávání argumentů příkazů pomocí znaku pomlčky ('-OPT'), což umožňuje automatické doplňování pomocí klávesy tabulátor;
  • Příkazy „printf“ a „eval“ implementují podporu pro výstup řetězců ve stylech C a Ada bez přímého volání funkce v programu;
  • Přidána podpora pro filtrování výstupních souborů na základě regulárního výrazu v příkazu „info sources“;
  • V nastavení „set print frame-arguments“ je implementován parametr „prezence“, při nastavení se u argumentů zobrazuje pouze indikátor přítomnosti „…“ namísto zobrazení názvu a hodnoty;
  • V rozhraní TUI příkazy "focus", "winheight", "+", "-", "">", "<" nyní rozlišují velká a malá písmena;
  • Pro příkazy "print", "kompilace tisku", "backtrace", "frame"
    byly implementovány možnosti použít, „tfaas“ a „faas“, aby přepsaly globální nastavení (například nastavení pomocí „nastavení tisku […]“);

  • Do příkazu "info types" byla přidána volba "-q", která zakazuje výstup některých záhlaví;
  • V nastavení můžete místo „neomezené“ hodnoty nyní zadat „u“;
  • Přidány nové příkazy:
    • "define-prefix" pro definování vlastních prefixových příkazů;
    • "|" nebo "pipe" pro spuštění příkazu a přesměrování výstupu na příkaz shell;
    • „with“ pro spuštění zadaného příkazu s dočasně změněným nastavením;
    • „set may-call-functions“ pro kontrolu, zda lze podprogram volat z GDB;
    • "set print finish [on|off]" pro ovládání zobrazení návratové hodnoty při použití příkazu "finish";
    • „set print max-depth“ pro omezení výstupu vnořených struktur;
    • „set print raw-values ​​​​[on|off]“ pro zapnutí/vypnutí formátování výstupních hodnot;
    • „set logging debugredirect [on|off]“ pro řízení ukládání výstupu ladění do souboru protokolu;
    • Řada nových příkazů „nastavení stylu“;
    • "set print frame-info […]" pro definování informací, které by měly být vytištěny při zobrazení stavu zásobníku;
    • „set tui compact-source“ pro povolení kompaktního režimu pro zobrazení kódu v rozhraní TUI (Text User Interface);
    • „informační moduly […]“ pro vyžádání informací o modulech Fortran;
    • Místo „set/show print raw-frame-arguments“ je navržen příkaz „set/show print raw-frame-arguments“ (používá jako oddělovač pomlčku místo mezery);
  • V rozhraní ovládacího softwaru GDB/MI přidány nové příkazy „-complete“, „-catch-throw“, „-catch-rethrow“, „-catch-catch“, „-symbol-info-functions“, „-symbol-info-types“,
    "-symbol-info-variables", "-symbol-info-modules", "-symbol-info-module-functions" a "-symbol-info-module-variables" jsou ekvivalentní stejným příkazům GDB. Standardně je aktivována třetí verze MI interpretu (-i=mi3);

  • Přidány nové vestavěné proměnné:
    • $_gdb_major, $_gdb_minor;
    • $_gdb_setting, $_gdb_setting_str, $_gdb_maint_setting,
    • $_gdb_maint_setting_str
    • $_cimag, $_creal
    • $_shell_exitcode, $_shell_exitsignal
  • Přidána volba „--with-system-gdbinit-dir“ do konfiguračního sestavení skriptu pro určení cesty k systémovým souborům gdbinit;
  • V Python API byla provedena řada vylepšení. Přidána možnost stavět s Pythonem 3 na Windows;
  • Byly zvýšeny požadavky na montážní prostředí. Budování GDB a GDBserver nyní vyžaduje alespoň GNU make 3.82. Při sestavování s externí knihovnou readline je vyžadována alespoň GNU readline 7.0.

Zdroj: opennet.ru

Přidat komentář