Famoahana debugger GDB 13

Ny famoahana ny debugger GDB 13.1 dia naseho (ny famoahana voalohany ny andiany 13.x, ny sampana 13.0 dia nampiasaina ho an'ny fampandrosoana). Ny GDB dia manohana ny debugging loharano ho an'ny fiteny fandaharana isan-karazany (Ada, C, C++, D, Fortran, Go, Objective-C, Modula-2, Pascal, Rust, sns.) amin'ny fitaovana isan-karazany (i386, amd64). , ARM, Power, Sparc, RISC-V, sns.) ary sehatra rindrambaiko (GNU/Linux, *BSD, Unix, Windows, macOS).

Fanatsarana lehibe:

  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° запуска ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠ° ΠΈ GDBserver Π½Π° Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π°Ρ… GNU/Linux/LoongArch ΠΈ GNU/Linux/CSKY.
  • Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅ Windows Π² асинхронном Ρ€Π΅ΠΆΠΈΠΌΠ΅ (async).
  • На ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅ FreeBSD для Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€ ARM ΠΈ AArch64 Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… TLS (Thread Local Storage), Π° для Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ AArch64 прСдоставлСна Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ использования Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹Ρ… Ρ‚ΠΎΡ‡Π΅ΠΊ останова (watchpoint).
  • Π’ ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠΈ 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Β» для управлСния ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ Π±ΠΈΠ½Π°Ρ€Π½Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π² Ρ‡Π΅Ρ‚Ρ‹Ρ€Ρ‘Ρ…Π±Π°ΠΉΡ‚ΠΎΠ²Ρ‹Ρ… Π³Ρ€ΡƒΠΏΠΏΠ°Ρ….
  • ВнСсСны ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡ Π² Python API. Π”ΠΎΠ±Π°Π²Π»Π΅Π½ API для дизассСмблирования инструкций, Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ Ρ‚ΠΈΠΏ gdb.BreakpointLocation, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ gdb.format_address, gdb.current_language ΠΈ gdb.print_options.
  • Π’ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΌ интСрфСйсС управлСния GDB/MI объявлСна ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠ΅ΠΉ пСрвая вСрсия интСрфСйса MI, которая Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΠ΄Π°Π»Π΅Π½Π° Π² Π²Π΅Ρ‚ΠΊΠ΅ GDB 14.
  • Π’ ELF-Ρ„Π°ΠΉΠ»Π°Ρ… Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΎΡ‚Π»Π°Π΄ΠΎΡ‡Π½Ρ‹Ρ… сСкций, сТатых с использованиСм Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° zstd.
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ Π½ΠΎΠ²Ρ‹Π΅ встроСнныС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅: $_inferior_thread_count, $_hit_bpnum, $_hit_locno.
  • Π€ΠΎΡ€ΠΌΠ°Ρ‚ Π²Ρ‹Π²ΠΎΠ΄Π° ΠΊΠΎΠΌΠ°Π½Π΄ β€˜disassemble /r’ ΠΈ β€˜record instruction-history /r’ ΠΏΡ€ΠΈΠ²Π΅Π΄Ρ‘Π½ Π² соотвСтствиС с Π²Ρ‹Π²ΠΎΠ΄ΠΎΠΌ objdump. Для возвращСния старого Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ Ρ€Π΅ΠΆΠΈΠΌ Β«/bΒ».
  • Π’ интСрфСйсС TUI (Text User Interface) ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½Π° стилизация исходного ΠΈ ассСмблСрного ΠΊΠΎΠ΄Π°, Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠΌ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ.
  • ΠŸΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ использования ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Β«documentΒ» для докумСнтирования ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… ΠΊΠΎΠΌΠ°Π½Π΄.
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ создания Π΄Π°ΠΌΠΏΠΎΠ² с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ Ρ‚Π΅Π³ΠΎΠ² памяти, примСняСмых ΠΏΡ€ΠΈ использовании ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° ARMv8.5 MTE (MemTag, Memory Tagging Extension), ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π΅Π³ΠΎ ΠΏΡ€ΠΈΠ²ΡΠ·Π°Ρ‚ΡŒ Ρ‚Π΅Π³ΠΈ ΠΊ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ выдСлСния памяти ΠΈ ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈ доступС ΠΊ памяти ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ указатСля, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ связан с ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½Ρ‹ΠΌ Ρ‚Π΅Π³ΠΎΠΌ.
  • ΠŸΡ€Π΅ΠΊΡ€Π°Ρ‰Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ€Π΅ΠΆΠΈΠΌΠ° совмСстимости с 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Β».

Source: opennet.ru

Add a comment