GDB 13 debugger udgivelse

Udgivelsen af ​​GDB 13.1-debuggeren er blevet præsenteret (den første udgivelse af 13.x-serien, 13.0-grenen blev brugt til udvikling). GDB understøtter fejlfinding på kildeniveau for en lang række programmeringssprog (Ada, C, C++, D, Fortran, Go, Objective-C, Modula-2, Pascal, Rust osv.) på forskellig hardware (i386, amd64 , ARM, Power, Sparc, RISC-V osv.) og softwareplatforme (GNU/Linux, *BSD, Unix, Windows, macOS).

Vigtigste forbedringer:

  • Tilføjet support til at køre debugger og GDBserver på GNU/Linux/LoongArch og GNU/Linux/CSKY arkitekturer.
  • Understøttelse af arbejde på Windows-platformen i asynkron tilstand (asynkron) er blevet implementeret.
  • På FreeBSD-platformen er understøttelse af TLS (Thread Local Storage)-variabler blevet tilføjet til ARM- og AArch64-arkitekturerne, og muligheden for at bruge hardware-breakpoints (watchpoint) er blevet givet til AArch64-arkitekturen.
  • I GNU/Linux-miljøet på LoongArch-systemer er der tilføjet understøttelse af flydende kommaberegninger.
  • Implementerede nye kommandoer "maintenance set ignore-prologue-end-flag|libopcodes-styling" og "maintenance print frame-id", samt kommandoer til at kontrollere stilen for adskilt output (set style disassembler *).
  • Tilføjet kommandoer "sæt udskriftsnibbles [on|off]" og "vis udskriftsnibbles" for at kontrollere visningen af ​​binære værdier i fire-byte grupper.
  • Der er foretaget forbedringer af Python API. Der er tilføjet et API til adskillelse af instruktioner, gdb.BreakpointLocation-typen er implementeret, og funktionerne gdb.format_address, gdb.current_language og gdb.print_options er tilføjet.
  • Den første version af GDB/MI-administrationsgrænsefladen er blevet forældet og vil blive fjernet i GDB 14.
  • Tilføjet understøttelse af fejlretningssektioner komprimeret ved hjælp af zstd-algoritmen i ELF-filer.
  • Tilføjet nye indbyggede variabler: $_inferior_thread_count, $_hit_bpnum, $_hit_locno.
  • Outputformatet for kommandoerne 'disassemble /r' og 'record instruction-history /r' er blevet justeret for at matche outputtet fra objdump. For at returnere det gamle format er "/b"-tilstanden blevet tilføjet.
  • I TUI (Text User Interface) er stiling af kilde- og samlingskode fremhævet af den aktuelle positionsindikator deaktiveret.
  • Det er muligt at bruge kommandoen "dokument" til at dokumentere brugerkommandoer.
  • Tilføjet muligheden for at oprette dumps med hukommelsestagdata, der bruges ved brug af ARMv8.5 MTE (MemTag, Memory Tagging Extension), som giver dig mulighed for at binde tags til hver hukommelsesallokeringsoperation og organisere en markørkontrol, når du får adgang til hukommelsen, som skal være forbundet med det rigtige tag.
  • DBX-kompatibilitetstilstand er blevet afbrudt.
  • Support til bygning ved hjælp af Python 2 er afbrudt.
  • Kommandoerne “set debug aix-solib on|off”, “show debug aix-solib”, “set debug solib-frv on|off” og “show debug solib-frv” er blevet fjernet, og kommandoerne “set/show debug" skal bruges i stedet for solib."

Kilde: opennet.ru

Tilføj en kommentar