Выпуск ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠ° 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. Π’.Π΅. Π²Π½Π°Ρ‡Π°Π»Π΅ Π² ΠΏΠΎΠ΄ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ config, Π° ΡƒΠΆΠ΅ ΠΏΠΎΡ‚ΠΎΠΌ Π² домашнСм ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅.
  • Π’ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ «break […] if CONDITION» ΠΏΡ€Π΅ΠΊΡ€Π°Ρ‰Ρ‘Π½ Π²Ρ‹Π²ΠΎΠ΄ ошибки ΠΏΡ€ΠΈ нСдопустимости условия Π² ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹Ρ… мСстах, Ссли условиС допустимо хотя Π±Ρ‹ Π² ΠΎΠ΄Π½ΠΎΠΌ случаС.
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ core-Π΄Π°ΠΌΠΏΠΎΠ², сгСнСрированных для ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Cygwin, собранных для Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ x86_64.
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ‚ΠΈΠΏΠΎΠ² с фиксированной запятой, Π° Ρ‚Π°ΠΊΠΆΠ΅ констант DW_AT_GNU_numerator ΠΈ DW_AT_GNU_denominator.
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° настройка «startup-quietly on|off» setting; when «on», аналогичная ΠΎΠΏΡ†ΠΈΠΈ «-silent».
  • Π’ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ «ptype» Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ‹ ΠΎΠΏΡ†ΠΈΠΈ /x» ΠΈ «/d» для Π²Ρ‹Π±ΠΎΡ€Π° ΡˆΠ΅ΡΡ‚Π½Π°Π΄Ρ†Π°Ρ‚Π΅Ρ€ΠΈΡ‡Π½ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ дСсятичного исчислСния ΠΏΡ€ΠΈ Π²Ρ‹Π²ΠΎΠ΄Π΅ Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠ² ΠΈ смСщСний. Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° настройка «print type hex on|off» для использования ΡˆΠ΅ΡΡ‚Π½Π°Π΄Ρ†Π°Ρ‚Π΅Ρ€ΠΈΡ‡Π½Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π² Π²Ρ‹Π²ΠΎΠ΄Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ‘ptype’.
  • Π’ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ «inferior» ΠΏΡ€ΠΈ Π²Ρ‹Π·ΠΎΠ²Π΅ Π±Π΅Π· Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² обСспСчСн Π²Ρ‹Π²ΠΎΠ΄ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ (inferior).
  • ΠŸΠ΅Ρ€Π΅Ρ€Π°Π±ΠΎΡ‚Π°Π½ Π²Ρ‹Π²ΠΎΠ΄ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ «info source».
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° «style version foreground | background | intensity» для управлСния стилСм Π½ΡƒΠΌΠ΅Ρ€Π°Ρ†ΠΈΠΈ вСрсий.
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ Π½ΠΎΠ²Ρ‹Π΅ ΠΎΠΏΡ†ΠΈΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки: «—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’ для информирования ΠΎ стСпСни Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΎΡ‚Π»Π°Π΄ΠΎΡ‡Π½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ.
  • ВнСсСны ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡ Π² Python API. Π”ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ Π½ΠΎΠ²Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ gdb.Frame.level() ΠΈ db.PendingFrame.level() для возвращСния уровня стСка для ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Frame. ΠŸΡ€ΠΈ срабатывании Ρ‚ΠΎΡ‡ΠΊΠΈ Π·Π°Ρ…Π²Π°Ρ‚Π° (catchpoint) Π² Python API обСспСчСна ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° 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