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

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

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

  • TUI (Текстов потребителски интерфейс) има добавена поддръжка за действия с мишката и възможност за превъртане на съдържание с колелцето на мишката. Разрешено препращане на клавишни комбинации към GDB, които не се обработват в TUI.
  • Добавена е поддръжка за механизма ARMv8.5 MTE (MemTag, Разширение за маркиране на паметта), който ви позволява да свързвате тагове към всяка операция за разпределение на паметта и да организирате проверка на указателя при достъп до паметта, която трябва да бъде свързана с правилния таг. Протоколът за дистанционно отстраняване на грешки осигурява поддръжка за пакетите „qMemTags“ и „QMemTags“ за обвързване на тагове към паметта.
  • Логиката за четене на конфигурационните файлове е променена. Файлът .gdbinit сега се проверява в следния ред: $XDG_CONFIG_HOME/gdb/gdbinit, $HOME/.config/gdb/gdbinit и $HOME/.gdbinit. Тези. първо в поддиректорията config и едва след това в началната директория.
  • В командата “break […] if CONDITION” изходът за грешка се спира, когато дадено условие е невалидно на определени места, ако условието е валидно в поне един случай.
  • Добавена е поддръжка за отстраняване на грешки в основни дъмпове, генерирани за програми на Cygwin, компилирани за архитектурата x86_64.
  • Добавена е поддръжка за типове с фиксирана точка, както и константите DW_AT_GNU_numerator и DW_AT_GNU_denominator.
  • Добавена е настройка „стартиране-тихо включване|изключване“; когато е „включено“, подобно на опцията „-безшумен“.
  • Командата "ptype" прилага опциите /x" и "/d", за да изберете шестнадесетичен или десетичен при показване на размери и отмествания. Добавена е настройка „print type hex on|off“ за използване на шестнадесетични стойности в изхода на командата „ptype“.
  • В командата "inferior", когато се извиква без аргументи, се предоставя изходът на текущия обект за отстраняване на грешки (inferior).
  • Резултатът от командата „източник на информация“ е преработен.
  • Добавена е команда „стилова версия на преден план | фон | интензитет", за да контролирате стила на номериране на версиите.
  • Добавени са нови опции на командния ред: “—early-init-command” (“-eix”), “—early-init-eval-command” (“-eiex”), “—qualified” (за команди '-break-insert ) ' и '-dprintf-insert'), "--force-condition" (за командите '-break-insert' и '-dprintf-insert'), "--force" (за '-break-condition ' команда).
  • Командата '-file-list-exec-source-files' ви позволява да укажете регулярни изрази, за да филтрирате изходните файлове, които да бъдат обработени. Полето „debug-fully-read“ е добавено към изхода, за да посочи степента, до която е заредена информацията за отстраняване на грешки.
  • Направени са подобрения в API на Python. Добавени са нови методи gdb.Frame.level() и db.PendingFrame.level() за връщане на нивото на стека за обект Frame. Когато се задейства catchpoint, API на Python гарантира, че gdb.BreakpointEvent се изпраща вместо gdb.StopEvent. Добавени са настройки „python ignore-environment on|off“ за игнориране на променливите на средата и „python dont-write-bytecode auto|on|off“ за деактивиране на писането на байт код.
  • Направени са подобрения в Guile API. Добавени са нови процедури value-reference-value, value-rvalue-reference-value и value-const-value.
  • Необходимите зависимости на сглобяването включват библиотеката GMP (GNU Multiple Precision Arithmetic).
  • Поддръжката за платформата ARM Symbian (arm*-*-symbianelf*) е преустановена.

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

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