Vydání ladicího programu GDB 11

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

Klíčová vylepšení:

  • TUI (Text User Interface) přidalo podporu akcí myši a možnost posouvat obsah pomocí kolečka myši. Povoleno přeposílání kombinací kláves do GDB, které nejsou zpracovány v TUI.
  • Přidána podpora pro mechanismus ARMv8.5 MTE (MemTag, Memory Tagging Extension), který umožňuje svázat tagy s každou operací alokace paměti a organizovat kontrolu ukazatele při přístupu do paměti, která musí být spojena se správným tagem. Protokol Remote Debug Control Protocol poskytuje podporu pro balíčky „qMemTags“ a „QMemTags“ pro vazbu tagů na paměť.
  • Logika čtení konfiguračních souborů byla změněna. Soubor .gdbinit se nyní kontroluje v následujícím pořadí: $XDG_CONFIG_HOME/gdb/gdbinit, $HOME/.config/gdb/gdbinit a $HOME/.gdbinit. Tito. nejprve v podadresáři config a teprve potom v domovském adresáři.
  • V příkazu „break […] if CONDITION“ se chybový výstup zastaví, když je podmínka na určitých místech neplatná, pokud je podmínka platná alespoň v jednom případě.
  • Přidána podpora pro ladění výpisů jádra generovaných pro programy Cygwin kompilované pro architekturu x86_64.
  • Přidána podpora pro typy s pevnou čárkou a také konstanty DW_AT_GNU_numerator a DW_AT_GNU_denominator.
  • Přidáno nastavení „spouštění-tiše zapnuto|vypnuto“; když je „on“, podobně jako možnost „-tichý“.
  • Příkaz "ptype" implementuje volby /x" a "/d" pro výběr šestnáctkové nebo desítkové soustavy při zobrazování velikostí a posunů. Přidáno nastavení "print type hex on|off" pro použití hexadecimálních hodnot ve výstupu příkazu 'ptype'.
  • V příkazu "inferior" je při volání bez argumentů poskytnut výstup aktuálního ladícího objektu (inferior).
  • Výstup příkazu „info source“ byl přepracován.
  • Přidán příkaz „style version foreground | pozadí | intenzita" pro ovládání stylu číslování verzí.
  • Přidány nové možnosti příkazového řádku: „—early-init-command“ („-eix“), „—early-init-eval-command“ („-eiex“), „—qualified“ (pro příkazy '-break-insert ) ' a '-dprintf-insert'), "--force-condition" (pro příkazy '-break-insert' a '-dprintf-insert'), "--force" (pro '-break-condition 'příkaz).
  • Příkaz „-file-list-exec-source-files“ umožňuje zadat regulární výrazy pro odfiltrování zdrojových souborů ke zpracování. Do výstupu bylo přidáno pole 'debug-full-read', které označuje rozsah, v jakém byly načteny ladicí informace.
  • Vylepšení byla provedena v Python API. Přidány nové metody gdb.Frame.level() a db.PendingFrame.level() pro vrácení úrovně zásobníku pro objekt Frame. Když je spuštěn catchpoint, Python API zajistí odeslání gdb.BreakpointEvent místo gdb.StopEvent. Přidáno nastavení "python ignore-environment on|off" pro ignorování proměnných prostředí a "python dont-write-bytecode auto|on|off" pro zakázání zápisu bytecode.
  • Vylepšení byla provedena v Guile API. Byly přidány nové postupy hodnota-referenční-hodnota, hodnota-rvalue-referenční-hodnota a hodnota-konst-hodnota.
  • Mezi požadované závislosti sestavení patří knihovna GMP (GNU Multiple Precision Arithmetic).
  • Podpora platformy ARM Symbian (arm*-*-symbianelf*) byla ukončena.

Zdroj: opennet.ru

Přidat komentář