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

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

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

  • Добавена е поддръжка за стартиране на дебъгера и GDBserver на GNU/Linux/LoongArch и GNU/Linux/CSKY архитектури.
  • Реализирана е поддръжка за работа на платформата Windows в асинхронен режим (асинхронен).
  • В платформата FreeBSD е добавена поддръжка за TLS (Thread Local Storage) променливи за архитектурите ARM и AArch64 и възможността за използване на хардуерни точки на прекъсване (точка за наблюдение) е предоставена за архитектурата AArch64.
  • В средата GNU/Linux на системите LoongArch е добавена поддръжка за изчисления с плаваща запетая.
  • Внедрени са нови команди "maintenance set ignore-prologue-end-flag|libopcodes-styling" и "maintenance print frame-id", както и команди за контрол на стила на разглобения изход (set style disassembler *).
  • Добавени са команди „set print nibbles [on|off]“ и „show print nibbles“ за контролиране на показването на двоични стойности в четирибайтови групи.
  • Направени са подобрения в API на Python. Добавен е API за инструкции за разглобяване, имплементиран е типът gdb.BreakpointLocation и са добавени функциите gdb.format_address, gdb.current_language и gdb.print_options.
  • Първата версия на интерфейса за управление на GDB/MI е отхвърлена и ще бъде премахната в GDB 14.
  • Добавена е поддръжка за секции за отстраняване на грешки, компресирани с помощта на алгоритъма zstd в ELF файлове.
  • Добавени са нови вградени променливи: $_inferior_thread_count, $_hit_bpnum, $_hit_locno.
  • Изходният формат на командите 'disassemble /r' и 'record instruction-history /r' е коригиран, за да съответства на изхода на objdump. За връщане на стария формат е добавен режимът “/b”.
  • В TUI (текстов потребителски интерфейс) стилизирането на изходния и асемблиращия код, подчертано от индикатора за текуща позиция, е деактивирано.
  • Възможно е да използвате командата “document” за документиране на потребителски команди.
  • Добавена е възможност за създаване на дъмпове с данни от маркери на паметта, използвани при използване на механизма ARMv8.5 MTE (MemTag, Разширение за маркиране на паметта), който ви позволява да свързвате тагове към всяка операция за разпределяне на памет и да организирате проверка на показалеца при достъп до паметта, което трябва да бъде свързан с правилния етикет.
  • Режимът на съвместимост с DBX е преустановен.
  • Поддръжката за изграждане с помощта на Python 2 е преустановена.
  • Командите „set debug aix-solib on|off“, „show debug aix-solib“, „set debug solib-frv on|off“ и „show debug solib-frv“ са премахнати, а командите „set/show debug" трябва да се използва вместо solib."

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

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