ืฉื—ืจื•ืจ ื‘ืื’ื™ื ืฉืœ 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).

ืฉื™ืคื•ืจื™ื ืขื™ืงืจื™ื™ื:

  • ื ื•ืกืคื” ืชืžื™ื›ื” ื‘ื”ืคืขืœืช ืžืืชืจ ื”ื‘ืื’ื™ื ื•ืฉืจืช GDB ื‘ืืจื›ื™ื˜ืงื˜ื•ืจื•ืช 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 *).
  • ื ื•ืกืคื• ืคืงื•ื“ื•ืช "ื”ื’ื“ืจ ื ื™ื‘ื•ืœื™ ื”ื“ืคืกื” [ืžื•ืคืขืœ|ื›ื‘ื•ื™]" ื•"ื”ืฆื’ ื ื™ื‘ื•ืœื™ ื”ื“ืคืกื”" ื›ื“ื™ ืœืฉืœื•ื˜ ื‘ืชืฆื•ื’ื” ืฉืœ ืขืจื›ื™ื ื‘ื™ื ืืจื™ื™ื ื‘ืงื‘ื•ืฆื•ืช ืฉืœ ืืจื‘ืขื” ื‘ืชื™ื.
  • ื ืขืฉื• ืฉื™ืคื•ืจื™ื ื‘-Python API. ื”ื•ืกืฃ 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 (ืžืžืฉืง ืžืฉืชืžืฉ ืฉืœ ื˜ืงืกื˜), ื”ืกื’ื ื•ืŸ ืฉืœ ืงื•ื“ ื”ืžืงื•ืจ ื•ื”ื”ืจื›ื‘ื” ื”ืžื•ื“ื’ืฉ ืขืœ ื™ื“ื™ ืžื—ื•ื•ืŸ ื”ืžื™ืงื•ื ื”ื ื•ื›ื—ื™ ืžื•ืฉื‘ืช.
  • ืืคืฉืจ ืœื”ืฉืชืžืฉ ื‘ืคืงื•ื“ื” "ืžืกืžืš" ื›ื“ื™ ืœืชืขื“ ืคืงื•ื“ื•ืช ืžืฉืชืžืฉ.
  • ื ื•ืกืคื” ื”ื™ื›ื•ืœืช ืœื™ืฆื•ืจ dumps ืขื ื ืชื•ื ื™ ืชื’ื™ ื–ื™ื›ืจื•ืŸ ื”ืžืฉืžืฉื™ื ื‘ืขืช ืฉื™ืžื•ืฉ ื‘ืžื ื’ื ื•ืŸ 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 ื™ืฉ ืœื”ืฉืชืžืฉ ื‘ืžืงื•ื ืกื•lib."

ืžืงื•ืจ: OpenNet.ru

ื”ื•ืกืคืช ืชื’ื•ื‘ื”