Vydání ladicího programu GDB 13

Bylo představeno vydání ladicího programu GDB 13.1 (první vydání řady 13.x, pro vývoj byla použita větev 13.0). GDB podporuje ladění na úrovni zdroje pro širokou škálu programovacích jazyků (Ada, C, C++, D, Fortran, Go, Objective-C, Modula-2, Pascal, 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í:

  • Přidána podpora pro spouštění debuggeru a GDBserveru na architekturách GNU/Linux/LoongArch a GNU/Linux/CSKY.
  • Byla implementována podpora pro práci na platformě Windows v asynchronním režimu (async).
  • Na platformě FreeBSD byla pro architektury ARM a AArch64 přidána podpora proměnných TLS (Thread Local Storage) a pro architekturu AArch64 byla poskytnuta možnost používat hardwarové body přerušení (watchpoint).
  • V prostředí GNU/Linux na systémech LoongArch byla přidána podpora pro výpočty s pohyblivou řádovou čárkou.
  • Implementovány nové příkazy "maintenance set ignore-prologue-end-flag|libopcodes-styling" a "maintenance print frame-id", stejně jako příkazy pro ovládání stylu rozebraného výstupu (set style disassembler *).
  • Přidány příkazy „set print nibbles [on|off]“ a „show print nibbles“ pro ovládání zobrazení binárních hodnot ve čtyřbajtových skupinách.
  • Vylepšení byla provedena v Python API. Bylo přidáno API pro rozebírání instrukcí, implementován typ gdb.BreakpointLocation a byly přidány funkce gdb.format_address, gdb.current_language a gdb.print_options.
  • První verze rozhraní pro správu GDB/MI byla zastaralá a bude v GDB 14 odstraněna.
  • Přidána podpora pro sekce ladění komprimované pomocí algoritmu zstd v souborech ELF.
  • Přidány nové vestavěné proměnné: $_inferior_thread_count, $_hit_bpnum, $_hit_locno.
  • Výstupní formát příkazů 'rozbalit /r' a 'zaznamenat historii instrukce /r' byl upraven tak, aby odpovídal výstupu objdump. Pro návrat do starého formátu byl přidán režim „/b“.
  • V TUI (Text User Interface) je zakázáno stylování zdrojového a sestavení kódu zvýrazněného indikátorem aktuální polohy.
  • Pro dokumentaci uživatelských příkazů je možné použít příkaz „document“.
  • Přidána možnost vytvářet výpisy s daty paměťových tagů používaných při použití mechanismu 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 spojené se správnou značkou.
  • Režim kompatibility DBX byl ukončen.
  • Podpora pro vytváření pomocí Pythonu 2 byla ukončena.
  • Příkazy „set debug aix-solib on|off“, „show debug aix-solib“, „set debug solib-frv on|off“ a „show debug solib-frv“ byly odstraněny a příkazy „set/show debug“ by měl být použit místo solib."

Zdroj: opennet.ru

Přidat komentář