GDB 11 debuggerin julkaisu

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

Lisää kommentti