GDB 11.1 -debuggerin julkaisu on esitelty (11.x-sarjan ensimmäinen julkaisu, 11.0-haara käytettiin kehitykseen). GDB tukee lähdetason virheenkorjausta useille ohjelmointikielille (Ada, C, C++, Objective-C, Pascal, Go, Rust jne.) eri laitteilla (i386, amd64, ARM, Power, Sparc, RISC). - V jne.) ja ohjelmistoympäristöt (GNU/Linux, *BSD, Unix, Windows, macOS).
Tärkeimmät parannukset:
- TUI (Text User Interface) on lisännyt tuen hiiren toiminnoille ja mahdollisuuden vierittää sisältöä hiiren rullalla. On otettu käyttöön sellaisten avainyhdistelmien edelleenlähetys GDB:hen, joita ei käsitellä TUI:ssa.
- Lisätty tuki ARMv8.5 MTE (MemTag, Memory Tagging Extension) -mekanismille, jonka avulla voit sitoa tunnisteita jokaiseen muistin varaustoimintoon ja järjestää osoittimen tarkistuksen käytettäessä muistia, joka on liitettävä oikeaan tagiin. Remote Debug Control Protocol tukee "qMemTags"- ja "QMemTags"-paketteja tunnisteiden sitomiseksi muistiin.
- Asetustiedostojen lukemisen logiikkaa on muutettu. .gdbinit-tiedosto tarkistetaan nyt seuraavassa järjestyksessä: $XDG_CONFIG_HOME/gdb/gdbinit, $HOME/.config/gdb/gdbinit ja $HOME/.gdbinit. Nuo. ensin config-alihakemistossa ja vasta sitten kotihakemistossa.
- "break […] if CONDITION" -komennossa virhetulostus pysäytetään, kun ehto on virheellinen tietyissä paikoissa, jos ehto on voimassa vähintään yhdessä tapauksessa.
- Lisätty tuki x86_64-arkkitehtuurille käännetyille Cygwin-ohjelmille luotujen ydinvedosten virheenkorjaukseen.
- Lisätty tuki kiinteän pisteen tyypeille sekä vakioille DW_AT_GNU_numerator ja DW_AT_GNU_denominator.
- Lisätty "käynnistys-hiljaisesti päällä|pois" -asetus; kun “on”, samalla tavalla kuin “-silent”-vaihtoehto.
- "ptype"-komento toteuttaa /x- ja "/d"-vaihtoehdot valitakseen heksadesimaali- tai desimaalilukuja koot ja siirtymät. Lisätty "print type hex on|off" -asetus käyttääksesi heksadesimaaliarvoja komennon "ptype" tulostuksessa.
- "Inferior"-komennossa, kun sitä kutsutaan ilman argumentteja, nykyisen virheenkorjausobjektin (alempi) tulos annetaan.
- "Infolähde"-komennon tuloste on muokattu.
- Lisätty komento "style version foreground | tausta | intensity" hallita versionumerointityyliä.
- Lisätty uudet komentorivivaihtoehdot: "—early-init-command" ("-eix"), "-early-init-eval-command" ("-eiex"), "-qualified" ('-break-insert-komentoille ) ' ja '-dprintf-insert'), "--force-condition" (komennoille '-break-insert' ja '-dprintf-insert'), "--force" (-break-condition ' komento).
- "-file-list-exec-source-files" -komennolla voit määrittää säännöllisiä lausekkeita, jotka suodattavat pois käsiteltävät lähdetiedostot. Tulosteeseen on lisätty "debug-full-read" -kenttä, joka osoittaa, missä määrin virheenkorjaustietoja on ladattu.
- Python-sovellusliittymään on tehty parannuksia. Lisätty uudet menetelmät gdb.Frame.level() ja db.PendingFrame.level() kehysobjektin pinotason palauttamiseksi. Kun tavoitepiste käynnistetään, Python API varmistaa, että gdb.BreakpointEvent lähetetään gdb.StopEventin sijaan. Lisätty asetukset "python ignore-environment on|off" ohittaakseen ympäristömuuttujat ja "python dont-write-bytecode auto|on|off" poistaakseen tavukoodin kirjoittamisen käytöstä.
- Guile-sovellusliittymään on tehty parannuksia. Uusia menettelyjä arvo-viite-arvo, arvo-rarvo-viite-arvo ja arvo-vakioarvo on lisätty.
- Vaadittuihin kokoonpanoriippuvuuksiin kuuluu GMP (GNU Multiple Precision Arithmetic) -kirjasto.
- ARM Symbian -alustan (arm*-*-symbianelf*) tuki on lopetettu.
Lähde: opennet.ru