Predstavljeno je izdanje GDB 13.1 debuggera (prvo izdanje serije 13.x, za razvoj je korištena grana 13.0). GDB podržava otklanjanje pogrešaka na razini izvora za širok raspon programskih jezika (Ada, C, C++, D, Fortran, Go, Objective-C, Modula-2, Pascal, Rust, itd.) na različitom hardveru (i386, amd64 , ARM, Power, Sparc, RISC-V itd.) i softverske platforme (GNU/Linux, *BSD, Unix, Windows, macOS).
Ključna poboljšanja:
- Dodana podrška za pokretanje programa za ispravljanje pogrešaka i GDBservera na GNU/Linux/LoongArch i GNU/Linux/CSKY arhitekturama.
- Implementirana je podrška za rad na Windows platformi u asinkronom načinu rada (async).
- Na FreeBSD platformi dodana je podrška za TLS (Thread Local Storage) varijable za ARM i AArch64 arhitekturu, a omogućena je i mogućnost korištenja hardverskih prijelomnih točaka (watchpoint) za AArch64 arhitekturu.
- U GNU/Linux okruženju na sustavima LoongArch dodana je podrška za izračune s pomičnim zarezom.
- Implementirane nove naredbe "maintenance set ignore-prologue-end-flag|libopcodes-styling" i "maintenance print frame-id", kao i naredbe za kontrolu stila rastavljenog ispisa (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.
- Učinjena su poboljšanja Python API-ja. Dodan je API za upute za rastavljanje, implementiran je tip gdb.BreakpointLocation te su dodane funkcije gdb.format_address, gdb.current_language i gdb.print_options.
- Prva verzija GDB/MI sučelja za upravljanje je zastarjela i bit će uklonjena u GDB 14.
- Dodana podrška za odjeljke za otklanjanje pogrešaka komprimirane korištenjem zstd algoritma u ELF datotekama.
- Dodane nove ugrađene varijable: $_inferior_thread_count, $_hit_bpnum, $_hit_locno.
- Izlazni format naredbi 'disassemble /r' i 'record instruction-history /r' prilagođen je tako da odgovara izlazu objdumpa. Za vraćanje starog formata dodan je način rada “/b”.
- U TUI-ju (tekstualno korisničko sučelje), stiliziranje izvornog i sklopovskog koda označenog indikatorom trenutne pozicije je onemogućeno.
- Moguće je koristiti naredbu “document” za dokumentiranje korisničkih naredbi.
- Dodana je mogućnost stvaranja ispisa s podacima memorijskih oznaka koji se koriste pri korištenju mehanizma ARMv8.5 MTE (MemTag, Memory Tagging Extension), koji vam omogućuje da vežete oznake za svaku operaciju dodjele memorije i organizirate provjeru pokazivača prilikom pristupa memoriji, što mora biti povezan s ispravnom oznakom.
- DBX način kompatibilnosti je prekinut.
- Podrška za izgradnju pomoću Pythona 2 je prekinuta.
- 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