Paglabas ng debugger ng GDB 13

Ang release ng GDB 13.1 debugger ay ipinakita (ang unang release ng 13.x series, ang 13.0 branch ay ginamit para sa pag-unlad). Sinusuportahan ng GDB ang source-level na debugging para sa malawak na hanay ng mga programming language (Ada, C, C++, D, Fortran, Go, Objective-C, Modula-2, Pascal, Rust, atbp.) sa iba't ibang hardware (i386, amd64 , ARM, Power, Sparc, RISC-V, atbp.) at mga software platform (GNU/Linux, *BSD, Unix, Windows, macOS).

Mga pangunahing pagpapabuti:

  • Nagdagdag ng suporta para sa pagpapatakbo ng debugger at GDBserver sa mga arkitektura ng GNU/Linux/LoongArch at GNU/Linux/CSKY.
  • Ang suporta para sa pagtatrabaho sa Windows platform sa asynchronous mode (async) ay ipinatupad.
  • Sa FreeBSD platform, ang suporta para sa TLS (Thread Local Storage) na mga variable ay idinagdag para sa ARM at AArch64 architecture, at ang kakayahang gumamit ng hardware breakpoints (watchpoint) ay ibinigay para sa AArch64 architecture.
  • Sa kapaligiran ng GNU/Linux sa mga LoongArch system, idinagdag ang suporta para sa mga kalkulasyon ng floating point.
  • Ipinatupad ang mga bagong command na "maintenance set ignore-prologue-end-flag|libopcodes-styling" at "maintenance print frame-id", pati na rin ang mga command para kontrolin ang istilo ng disassembled na output (set style disassembler *).
  • Idinagdag ang mga command na "set print nibbles [on|off]" at "show print nibbles" upang kontrolin ang pagpapakita ng mga binary value sa apat na byte na grupo.
  • Ang mga pagpapabuti ay ginawa sa Python API. Naidagdag ang isang API para sa mga tagubilin sa pag-disassemble, ang uri ng gdb.BreakpointLocation ay ipinatupad, at ang mga function na gdb.format_address, gdb.current_language at gdb.print_options ay naidagdag na.
  • Ang unang bersyon ng interface ng pamamahala ng GDB/MI ay hindi na ginagamit at aalisin sa GDB 14.
  • Nagdagdag ng suporta para sa mga seksyon ng debug na na-compress gamit ang zstd algorithm sa mga ELF file.
  • Nagdagdag ng mga bagong built-in na variable: $_inferior_thread_count, $_hit_bpnum, $_hit_locno.
  • Ang format ng output ng mga command na 'disassemble /r' at 'record instruction-history /r' ay naayos upang tumugma sa output ng objdump. Upang ibalik ang lumang format, idinagdag ang "/b" mode.
  • Sa TUI (Text User Interface), hindi pinagana ang pag-istilo ng source at assembly code na naka-highlight ng kasalukuyang indicator ng posisyon.
  • Posibleng gamitin ang command na "dokumento" upang idokumento ang mga utos ng user.
  • Idinagdag ang kakayahang gumawa ng mga dump gamit ang data ng memory tag na ginamit kapag ginagamit ang mekanismo ng ARMv8.5 MTE (MemTag, Memory Tagging Extension), na nagbibigay-daan sa iyong itali ang mga tag sa bawat operasyon ng paglalaan ng memorya at ayusin ang isang pointer check kapag ina-access ang memory, na dapat ay nauugnay sa tamang tag.
  • Ang DBX compatibility mode ay hindi na ipinagpatuloy.
  • Ang suporta para sa pagbuo gamit ang Python 2 ay hindi na ipinagpatuloy.
  • Ang mga command na “set debug aix-solib on|off”, “show debug aix-solib”, “set debug solib-frv on|off” at “show debug solib-frv” ay tinanggal, at ang mga command na “set/show debug" ang dapat gamitin sa halip na solib."

Pinagmulan: opennet.ru

Magdagdag ng komento