GDB 13 izdanje debuggera

Predstavljeno je izdanje GDB 13.1 debuggera (prvo izdanje serije 13.x, grana 13.0 je korištena za razvoj). GDB podržava ispravljanje grešaka na nivou izvora za širok spektar programskih jezika (Ada, C, C++, D, Fortran, Go, Objective-C, Modula-2, Pascal, Rust, itd.) na različitim hardverima (i386, amd64 , ARM, Power, Sparc, RISC-V, itd.) i softverske platforme (GNU/Linux, *BSD, Unix, Windows, macOS).

Ključna poboljšanja:

  • Dodata podrška za pokretanje debuggera i GDBservera na GNU/Linux/LoongArch i GNU/Linux/CSKY arhitekturi.
  • Implementirana je podrška za rad na Windows platformi u asinhronom modu (async).
  • Na FreeBSD platformi, dodata je podrška za TLS (Thread Local Storage) varijable za ARM i AArch64 arhitekture, a mogućnost korištenja hardverskih tačaka prekida (watchpoint) je omogućena za AArch64 arhitekturu.
  • U GNU/Linux okruženju na LoongArch sistemima, dodata je podrška za izračunavanja s pokretnim zarezom.
  • Implementirane nove komande "maintenance set ignore-prologue-end-flag|libopcodes-styling" i "maintenance print frame-id", kao i komande za kontrolu stila rastavljenog izlaza (set style disassembler *).
  • Dodane su naredbe "set print nibbles [on|off]" i "show print nibbles" za kontrolu prikaza binarnih vrijednosti u grupama od četiri bajta.
  • Napravljena su poboljšanja u Python API-ju. Dodan je API za instrukcije za rastavljanje, implementiran je tip gdb.BreakpointLocation, a dodane su funkcije gdb.format_address, gdb.current_language i gdb.print_options.
  • Prva verzija GDB/MI interfejsa za upravljanje je zastarela i biće uklonjena u GDB 14.
  • Dodata podrška za sekcije za otklanjanje grešaka komprimovanih pomoću zstd algoritma u ELF datotekama.
  • Dodane nove ugrađene varijable: $_inferior_thread_count, $_hit_bpnum, $_hit_locno.
  • Format izlaza naredbi 'disassemble /r' i 'record instruction-history /r' je prilagođen tako da odgovara izlazu objdump-a. Za vraćanje starog formata, dodat je mod “/b”.
  • U TUI (Text User Interface), stiliziranje izvornog i asemblerskog koda istaknutog indikatorom trenutne pozicije je onemogućeno.
  • Moguće je koristiti naredbu “document” za dokumentiranje korisničkih naredbi.
  • Dodata je mogućnost kreiranja dumpova podataka memorijskih oznaka koji se koriste kada se koristi mehanizam ARMv8.5 MTE (MemTag, Memory Tagging Extension), koji vam omogućava da povežete oznake sa svakom operacijom dodjele memorije i organizirate provjeru pokazivača prilikom pristupa memoriji, što mora biti povezan sa ispravnom oznakom.
  • Način rada DBX kompatibilnosti je ukinut.
  • Podrška za izgradnju koristeći Python 2 je ukinuta.
  • Naredbe “set debug aix-solib on|off”, “show debug aix-solib”, “set debug solib-frv on|off” i “show debug solib-frv” su uklonjene, a naredbe “set/show debug” treba koristiti umjesto solib."

izvor: opennet.ru

Dodajte komentar