Predstavljeno je izdanje GDB 11.1 debuggera (prvo izdanje serije 11.x, grana 11.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:
- TUI (Text User Interface) ima dodatnu podršku za radnje mišem i mogućnost pomicanja sadržaja pomoću kotačića miša. Omogućeno prosljeđivanje kombinacija tipki u GDB koje se ne obrađuju u TUI.
- Dodata podrška za ARMv8.5 MTE (MemTag, Memory Tagging Extension) mehanizam, koji vam omogućava da povežete oznake za svaku operaciju dodjele memorije i organizirate provjeru pokazivača prilikom pristupa memoriji, koja mora biti povezana s ispravnom oznakom. Protokol kontrole udaljenog otklanjanja grešaka pruža podršku za pakete “qMemTags” i “QMemTags” za vezivanje oznaka za memoriju.
- Promijenjena je logika za čitanje konfiguracijskih datoteka. Datoteka .gdbinit se sada provjerava sljedećim redoslijedom: $XDG_CONFIG_HOME/gdb/gdbinit, $HOME/.config/gdb/gdbinit i $HOME/.gdbinit. One. prvo u poddirektorijumu config, a tek onda u matičnom direktorijumu.
- U naredbi “break […] if CONDITION”, izlaz greške se zaustavlja kada je uvjet nevažeći na određenim mjestima, ako je uvjet važeći u barem jednom slučaju.
- Dodata podrška za otklanjanje grešaka dampova jezgra generisanih za Cygwin programe kompajlirane za arhitekturu x86_64.
- Dodata podrška za tipove fiksne tačke, kao i DW_AT_GNU_numerator i DW_AT_GNU_denominator konstante.
- Dodata postavka “startup-quietly on|off”; kada je "uključeno", slično opciji "-silent".
- Komanda "ptype" implementira opcije /x" i "/d" za odabir heksadecimalne ili decimalne kada se prikazuju veličine i pomaci. Dodata postavka "tip print hex on|off" za korištenje heksadecimalnih vrijednosti u izlazu naredbe 'ptype'.
- U naredbi "inferior", kada se poziva bez argumenata, daje se izlaz trenutnog objekta za otklanjanje grešaka (inferiornog).
- Izlaz naredbe “info source” je prerađen.
- Dodata naredba “style verzija prednjeg plana | pozadina | intenzitet" za kontrolu stila numeriranja verzija.
- Dodane su nove opcije komandne linije: “—early-init-command” (“-eix”), “—early-init-eval-command” (“-eiex”), “—qualified” (za '-break-insert komande ) ' i '-dprintf-insert'), "--force-condition" (za naredbe '-break-insert' i '-dprintf-insert'), "--force" (za '-break-condition ' komanda).
- Komanda '-file-list-exec-source-files' vam omogućava da specificirate regularne izraze za filtriranje izvornih datoteka koje treba obraditi. Polje 'debug-fully-read' je dodano u izlaz da naznači obim do kojeg su informacije za otklanjanje grešaka učitane.
- Napravljena su poboljšanja u Python API-ju. Dodane nove metode gdb.Frame.level() i db.PendingFrame.level() za vraćanje nivoa steka za Frame objekat. Kada se tačka hvatanja aktivira, Python API osigurava da se gdb.BreakpointEvent pošalje umjesto gdb.StopEvent. Dodate postavke "python ignore-environment on|off" da ignorišu varijable okruženja i "python dont-write-bytecode auto|on|off" za onemogućavanje pisanja bajtkoda.
- Učinjena su poboljšanja Guile API-ja. Dodane su nove procedure value-reference-value, value-rvalue-reference-value i value-const-value.
- Potrebne zavisnosti sklopa uključuju GMP (GNU Multiple Precision Arithmetic) biblioteku.
- Podrška za ARM Symbian platformu (arm*-*-symbianelf*) je ukinuta.
izvor: opennet.ru