Издание за дебагер на 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 (Text User Interface) додаде поддршка за дејства на глувчето и можност за лизгање содржина со тркалото на глувчето. Овозможено проследување на комбинации на клучеви до GDB кои не се обработуваат во TUI.
  • Додадена е поддршка за механизмот ARMv8.5 MTE (MemTag, Memory Tagging Extension), кој ви овозможува да ги врзувате ознаките за секоја операција за распределба на меморијата и да организирате проверка на покажувачот при пристап до меморијата, која мора да биде поврзана со правилната ознака. Протоколот за контрола на далечинско отстранување грешки обезбедува поддршка за пакетите „qMemTags“ и „QMemTags“ за врзување ознаки со меморијата.
  • Логиката за читање на конфигурациските датотеки е променета. Датотеката .gdbinit сега се проверува по следниот редослед: $XDG_CONFIG_HOME/gdb/gdbinit, $HOME/.config/gdb/gdbinit и $HOME/.gdbinit. Оние. прво во поддиректориумот за конфигурација, а дури потоа во домашниот директориум.
  • Во командата „break [...] if CONDITION“, излезот на грешка се прекинува кога условот е неважечки на одредени места, ако условот е валиден барем во еден случај.
  • Додадена е поддршка за дебагирање на основни депонии генерирани за Cygwin програми компајлирани за архитектурата x86_64.
  • Додадена е поддршка за типови со фиксна точка, како и константите DW_AT_GNU_numerator и DW_AT_GNU_denominator.
  • Додадена е поставката „стартување-тивко вклучено|исклучено“; кога е „вклучено“, слично на опцијата „-silent“.
  • Командата "ptype" ги имплементира опциите /x" и "/d" за да изберете хексадецимална или децимална при прикажување големини и поместувања. Додадена е поставка „тип на печатење хексадецимален|исклучено“ за да се користат хексадецимални вредности во излезот од командата „ptype“.
  • Во командата „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“ ви овозможува да наведете редовни изрази за да ги филтрирате изворните датотеки што треба да се обработуваат. На излезот е додадено поле „дебаг-целосно прочитано“ за да се означи степенот до кој се вчитани информациите за отстранување грешки.
  • Направени се подобрувања на Python API. Додадени се нови методи gdb.Frame.level() и db.PendingFrame.level() за враќање на нивото на оџакот за објектот Frame. Кога ќе се активира точка на фаќање, Python API гарантира дека gdb.BreakpointEvent се испраќа наместо gdb.StopEvent. Додадени се поставките „python ignore-environment on|off“ за игнорирање на променливите на животната средина и „python dont-write-bytecode auto|on|off“ за оневозможување на пишување бајто-код.
  • Направени се подобрувања на Guile API. Додадени се нови процедури вредност-референтна-вредност, вредност-рвредност-референтна-вредност и вредност-конст-вредност.
  • Потребните зависности од склопувањето ја вклучуваат библиотеката GMP (GNU Multiple Precision Arithmetic).
  • Поддршката за ARM Symbian платформата (arm*-*-symbianelf*) е прекината.

Извор: opennet.ru

Додадете коментар