GDB 9 debuggerin julkaisu

Lähettäjä debuggerin julkaisu GDB 9.1 (9.x-sarjan ensimmäinen julkaisu, kehittämiseen käytettiin haaraa 9.0). GDB tukee lähdetason virheenkorjausta useille ohjelmointikielille (Ada, C, C++, Objective-C, Pascal, Go jne.) eri laitteilla (i386, amd64, ARM, Power, Sparc, RISC-V). ja jne.) ja ohjelmistoalustoille (GNU/Linux, *BSD, Unix, Windows, macOS).

Avain parannuksia:

  • Solaris 10- ja Cell Broadband Engine -alustojen tuki on lopetettu;
  • Lisätty uusi simulaattori PRU (Programmable Real-time Unit) -alijärjestelmälle, jota käytetään Texas Instrumentsin prosessoreissa (pru-*-elf);
  • Lisätty kokeellinen tila virheenkorjaussymbolien nopeaa lataamista varten monisäikeisessä tilassa (käytössä "maint set worker-threads unlimited" -asetuksen kautta);
  • On mahdollista käyttää symbolia '.' komentojen nimissä;
  • Lisätty mahdollisuus asettaa keskeytyspisteitä sisäkkäisiin funktioihin ja aliohjelmiin Fortranissa;
  • Työtä on tehty yhtenäiseksi tyyliksi ja komentojen luettavuuden parantamiseksi;
  • Vakioinfrastruktuuri on toteutettu komentoargumenttien välittämiseen viiva-merkillä ('-OPT'), mikä mahdollistaa automaattisen täydennyksen sarkainnäppäimellä.
  • Komennot "printf" ja "eval" tukevat merkkijonojen tulostamista C- ja Ada-tyyleissä kutsumatta suoraan funktiota ohjelmassa;
  • Lisätty tuki tulostiedostojen suodattamiseen "info sources" -komennon säännöllisen lausekkeen perusteella;
  • "Set print frame-arguments" -asetuksessa "presence"-parametri on toteutettu, kun se on asetettu, vain läsnäoloilmaisin "..." näytetään argumenteille nimen ja arvon sijaan;
  • Käyttöliittymässä TUI komennot "focus", "winheight", "+", "-", ">, "<" ovat nyt kirjainkokoisia;
  • Komentoille "print", "compile print", "backtrace", "frame"
    Käytä, "tfaas" ja "faas" on otettu käyttöön yleisten asetusten ohittamiseksi (esimerkiksi ne, jotka on asetettu "set print […]" -toiminnolla);

  • Valinta "-q" on lisätty "infotypes"-komentoon poistamaan joidenkin otsikoiden tulostuksen;
  • Asetuksissa voit nyt määrittää "u" arvon "unlimited" sijaan;
  • Uusia komentoja lisätty:
    • "define-prefix" määrittääksesi omat etuliitekomennot;
    • "|" tai "pipe" suorittaaksesi komennon ja ohjataksesi tulosteen komentotulkkikomentoon;
    • "with" suorittaa määritetyn komennon tilapäisesti muutetuilla asetuksilla;
    • "set may-call-functions" ohjaamaan, voidaanko aliohjelmaa kutsua GDB:stä;
    • "set print finish [on|off]" ohjaamaan palautusarvon näyttöä käytettäessä "finish"-komentoa;
    • "set print max-depth" rajoittaa sisäkkäisten rakenteiden tulostusta;
    • "aseta tulostusraaka-arvot [on|off]" ottaaksesi käyttöön/poistaaksesi tulostearvojen muotoilun;
    • "set logging debugredirect [on|off]" ohjaamaan virheenkorjaustulosteen tallentamista lokitiedostoon;
    • Sarja uusia "set style" -komentoja;
    • "set print frame-info […]" määrittääksesi tiedot, jotka tulostetaan, kun pinon kehystila näytetään;
    • "set tui compact-source" mahdollistaa kompaktin tilan koodin näyttämiseksi TUI (Text User Interface) -liittymässä;
    • ”infomoduulit […]” pyytääksesi tietoja Fortran-moduuleista;
    • "Aseta/show print raw frame-arguments" sijaan ehdotetaan komentoa "set/show print raw-frame-arguments" (käyttää välilyönnin sijasta viivaa erottimena);
  • Ohjausohjelmiston käyttöliittymässä GDB/MI lisätty uudet komennot "-complete", "-catch-throw", "-catch-rethrow", "-catch-catch", "-symbol-info-functions", "-symbol-info-types",
    "-symbol-info-variables", "-symbol-info-modules", "-symbol-info-module-functions" ja "-symbol-info-module-variables" vastaavat samoja GDB-komentoja. Oletuksena MI-tulkin kolmas versio on aktivoitu (-i=mi3);

  • Lisätty uusia sisäänrakennettuja muuttujia:
    • $_gdb_major, $_gdb_minor;
    • $_gdb_setting, $_gdb_setting_str, $_gdb_maint_setting,
    • $_gdb_maint_setting_str
    • $_cimag, $_creal
    • $_shell_exitcode, $_shell_exitsignal
  • Lisätty "--with-system-gdbinit-dir" -vaihtoehto configure build-skriptiin määrittääkseen polun gdbinit-järjestelmätiedostoihin.
  • Python-sovellusliittymään on tehty useita parannuksia. Lisätty mahdollisuus rakentaa Python 3:lla Windowsissa;
  • Kokoonpanoympäristön vaatimuksia on lisätty. GDB:n ja GDBserverin rakentaminen vaatii nyt vähintään GNU make 3.82:n. Kun rakennetaan ulkoisella readline-kirjastolla, vaaditaan vähintään GNU readline 7.0.

Lähde: opennet.ru

Lisää kommentti