Predstavljeno je izdanje GDB 12.1 debuggera (prvo izdanje serije 12.x, grana 12.0 je korištena za razvoj). GDB podržava ispravljanje grešaka na nivou izvora za širok spektar programskih jezika (Ada, C, C++, Objective-C, Pascal, Go, 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:
- Podrazumevano je omogućen višenitni režim za učitavanje simbola za otklanjanje grešaka, što ubrzava pokretanje.
- Poboljšana podrška za C++ šablone.
- Implementirana je podrška za rad na FreeBSD platformi u asinhronom modu (async).
- Moguće je onemogućiti korištenje GNU Source Highlight-a i koristiti biblioteku Pygments za isticanje sintakse.
- Komanda "clone-inferior" provjerava da li su postavke TTY, CMD i ARGS kopirane iz originalnog objekta za otklanjanje grešaka (inferiornog) u novi objekat za otklanjanje grešaka. Također osigurava da se sve promjene varijabli okruženja napravljene korištenjem naredbi 'set environment' ili 'unset environment' kopiraju u novi objekt za otklanjanje grešaka.
- Komanda "print" pruža podršku za štampanje brojeva s pomičnim zarezom, specificirajući format osnovne vrijednosti, kao što je heksadecimalni ("/x").
- Dodata podrška za pokretanje debuggera i GDBservera na GNU/Linux/OpenRISC arhitekturi (ili 1k*-*-linux*). Dodata podrška za aplikacije za otklanjanje grešaka za GNU/Linux/LoongArch ciljnu platformu (loongarch*-*-linux*). Podrška za ciljnu platformu S+core (score-*-*) je ukinuta.
- GDB 12 je najavljen kao posljednje izdanje koje podržava izgradnju s Python 2.
- Zastarjelo i biće uklonjeno u GDB 13 DBX kompatibilnom načinu rada.
- API za upravljanje GDB/MI dozvoljava da se naredba '-add-inferior' koristi bez parametara ili sa '--no-connection' zastavicom za naslijeđivanje veze od trenutnog objekta za otklanjanje grešaka ili za pokretanje bez veze.
- Napravljena su poboljšanja u Python API-ju. Obezbeđena je mogućnost implementacije GDB/MI komandi u Python-u. Dodani su novi događaji gdb.events.gdb_exiting i gdb.events.connection_removed, funkcija gdb.Architecture.integer_type(), objekat gdb.TargetConnection, svojstvo gdb.Inferior.connection, atribut gdb.RemoteTargetConnection.send_tails.detail. gdb.Type.is_scalar i gdb.Type.is_signed.
izvor: opennet.ru