Predstavljeno je izdanje GDB 11.1 debuggera (prvo izdanje serije 11.x, za razvoj je korištena grana 11.0). GDB podržava otklanjanje pogrešaka na razini izvora za širok raspon 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 (tekstualno korisničko sučelje) 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-ju.
- Dodana je podrška za mehanizam ARMv8.5 MTE (MemTag, Memory Tagging Extension), koji vam omogućuje vezivanje oznaka za svaku operaciju dodjele memorije i organiziranje provjere pokazivača prilikom pristupa memoriji, koja mora biti povezana s ispravnom oznakom. Remote Debug Control Protocol pruža podršku za pakete “qMemTags” i “QMemTags” za vezanje oznaka u memoriju.
- Logika za čitanje konfiguracijskih datoteka je promijenjena. Datoteka .gdbinit sada se provjerava sljedećim redoslijedom: $XDG_CONFIG_HOME/gdb/gdbinit, $HOME/.config/gdb/gdbinit i $HOME/.gdbinit. Oni. prvo u poddirektoriju config, a tek onda u početnom direktoriju.
- U naredbi “break […] if CONDITION” ispis pogreške se zaustavlja kada je uvjet nevažeći na određenim mjestima, ako je uvjet valjan u barem jednom slučaju.
- Dodana podrška za otklanjanje pogrešaka jezgrenih ispisa generiranih za Cygwin programe kompilirane za x86_64 arhitekturu.
- Dodana podrška za tipove s fiksnom točkom, kao i konstante DW_AT_GNU_numerator i DW_AT_GNU_denominator.
- Dodana postavka "startup-quietly on|off"; kada je "uključeno", slično opciji "-tiho".
- Naredba "ptype" implementira opcije /x" i "/d" za odabir heksadecimalnog ili decimalnog kod prikaza veličina i pomaka. Dodana je postavka "print type 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 pogrešaka (inferioran).
- Izlaz naredbe “info source” je prerađen.
- Dodana naredba “verzija stila prednji plan | pozadina | intenzitet" za kontrolu stila numeriranja verzija.
- Dodane nove opcije naredbenog retka: “—early-init-command” (“-eix”), “—early-init-eval-command” (“-eiex”), “—qualified” (za naredbe '-break-insert ) ' i '-dprintf-insert'), "--force-condition" (za naredbe '-break-insert' i '-dprintf-insert'), "--force" (za '-break-condition ' naredba).
- Naredba “-file-list-exec-source-files” omogućuje vam određivanje regularnih izraza za filtriranje izvornih datoteka za obradu. Polje 'debug-fully-read' dodano je izlazu kako bi se označilo opseg do kojeg su učitane informacije o otklanjanju pogrešaka.
- Učinjena su poboljšanja Python API-ja. Dodane nove metode gdb.Frame.level() i db.PendingFrame.level() za vraćanje razine stoga za Frame objekt. Kada se aktivira catchpoint, Python API osigurava slanje gdb.BreakpointEvent umjesto gdb.StopEvent. Dodane su postavke "python ignore-environment on|off" za ignoriranje varijabli okruženja i "python dont-write-bytecode auto|on|off" za onemogućavanje pisanja bajt-koda.
- Guile API je poboljšan. Dodane su nove procedure value-reference-value, value-rvalue-reference-value i value-const-value.
- Potrebne ovisnosti sklopa uključuju biblioteku GMP (GNU Multiple Precision Arithmetic).
- Podrška za ARM Symbian platformu (arm*-*-symbianelf*) je ukinuta.
Izvor: opennet.ru