GDB

Software kuvakaappaus:
GDB
Ohjelmiston tiedot:
Versio: 8.1.1 Päivitetty
Lähetyksen päivämäärä: 16 Aug 18
Kehittäjä: Stan Shebs
Lupa: Vapaa
Suosio: 181

Rating: 3.5/5 (Total Votes: 2)

GDB (tunnetaan myös nimellä GNU Project debugger) on avoimen lähdekoodin ja vapaan komentorivin ohjelmisto, jonka avulla käyttäjät ja kehittäjät voivat nähdä, mitä tapahtuu toisen ohjelman sisäpuolella. toteutettu tai miksi sovellus kaatuu tietyssä vaiheessa.


Ominaisuudet yhdellä silmäyksellä

Tärkeimpiä ominaisuuksia ovat neljä erilaista tekniikkaa, joiden avulla kehittäjät saavat virheitä toimessa, käynnistä sovelluksen ja täsmentävät kaiken, joka saattaa vaikuttaa sen käyttäytymiseen, ohjelman lopettamisen tietyissä olosuhteissa, tutkii lokit, kun sovellus kaatui, vähitellen muutti asioita Se tukee myös laaja ohjelmointikielellä kirjoitettujen ohjelmien, mukaanlukien C, C ++, Pascal-ohjelmien virheenkorjausohjelman, kokeilemalla yhden ongelman vaikutusten korjaamista. , Ada, tavoite-C ja monet muut.

Se on komentorivisovellus

GNU Project -ohjelman virheenkorjaus on aina komentorivisovellus. Jotta voit käyttää sitä, sinun on suoritettava & ldquo; gdb & rdquo; komennon pääteemulaattorissa, suorita sitten & ldquo; help & rdquo; komento (ilman lainauksia) a gdb-kehote. Lisäksi voit myös kirjoittaa & ldquo; avusta kaikki & rdquo; komento tarkastella luetteloa kaikista komennoista, kirjoita "help" ja seuraa komennon nimi nähdäksesi täydellisen dokumentaation, kirjoita "apu" ja seuraa luokan nimi nähdäksesi luettelon komennoista kyseisessä luokassa, kirjoittamaan "apropos sana" hakemaan "sanaan" liittyvät komennot.


Luettelo komentojen luokista

Kun olet kirjoittanut & ldquo; help & rdquo; komentoja, kuten aliaksia (näyttää muiden komenioiden aliaksia), raja-arvot (tekee ohjelmasta pysähtymisen tietyissä kohdissa), tiedot (tietojen tarkastelemiseksi), tiedostot (tiedostojen tarkastelemiseksi) , sisäiset (ylläpitokomennot), epäselvä (hämärä ominaisuudet), käynnissä (ohjelman suorittamiseen), stack (pinoa tutkittaessa), status (tilatutkimuksille), tuki (tukipalveluille), jäljityskohdat ohjelman pysäyttäminen) ja käyttäjän määrittelemät (käyttäjän määrittelemät komennot).

Tuetut laitealustat ja käyttöjärjestelmät

GDB on suunniteltu offsetiksi, jotta se olisi monipuolinen sovellus, joka toimii mainstream-käyttöjärjestelmissä, kuten Microsoft Windowsissa ja joistakin suosituimmista Linux / UNIX-versiosta. Se tukee sekä 32-bittisiä että 64-bittisiä laitteistoja.

Mitä uutta on tässä versiossa:

  • PR gdb / 22824 (uuden rbreak Python-toiminnon harhaanjohtava kuvaus GDB 8.1 NEWS -tiedostossa)
  • PR gdb / 22849 (ctrl-c ei toimi laajennetussa kaukosäätimessä)
  • PR gdb / 22907 ([Regression] gdbserver ei toimi vain tiedostojen nimissä)
  • PR gdb / 23028 (epäjohdonmukainen purkaminen vcvtpd2dq)
  • PR gdb / 23053 (Fix -D_GLIBCXX_DEBUG gdb-add-index regressio)
  • PR gdb / 23127 ([AArch64] GDB: ää ei voida käyttää vianmääritysohjelmistoihin, joissa käytetään korkeita virtuaalisia osoitteita)
  • PR-palvelin / 23158 (gdbserver ei enää toimi Windowsissa)
  • PR raja-arvot / 23210 ([8.1 / 8.2 Regression] Bogus Breakpoint-osoite säädetty 0xf7fe7dd3 0xfffffffff7fe7dd3)

Uutta versiossa 8.1:

  • Yhteenveto C ++ -toiminnoista on nyt asetettu kaikille alueille ("villi" -sovitus)
  • Tuki raja-arvojen lisäämiseksi C ++ ABI -merkeillä merkittyihin toimintoihin
  • Kohdista liukulukuinen aritmeettinen emulointi lausekkeen arvioinnin aikana (edellyttää MPFR 3.1 tai uudempaa);
  • Eri Python-komentosarjatekniikan parannuksia;
  • parannettu ruostesuojaus; erityisesti Trait-objekteja voidaan tarkastella, kun virheenkorjaus on suoritettu;
  • GDB ei enää tee oletuksia symbolien tyypistä virheenkorjaustietojen välttämiseksi virheellisten ja usein hämmentävien tulosten välttämiseksi;
  • "Ota käyttöön" ja "poistaa käytöstä" komennot nyt hyväksyvät joukon lomakepisteitä;
  • Uusi "starti" -komento käynnistää ohjelma ensimmäisessä ohjeessa;
  • Uusi "rbreak" -komento lisätä useita raja-arvoja säännöllisen lausekkeen kautta (vaatii Pythonin);
  • "ptype" -komento tukee nyt kenttien siirron ja koon purkamista struct;
  • "gcore" -komento tukee nyt kaikkia muistikartoituksia ('-a' komentorivivalinta);
  • Uudet pikavalinnat TUI Single-Key -tilaa varten: 'i' for stepi ja 'o' for nexti;
  • GDB-palvelimen lisälaitteet:
  • Tuki ympäristön muuttujien lähettämiselle GDBserverille;
  • Tuki alhaisempien prosessien käynnistämiselle määritetyllä alustustyökalulla
  • Unix-järjestelmissä tuki alhaisemman komentorivin argumenttien vaihtelevan laajennuksen ja vaihtelevan korvauksen tukemiseen;
  • Erilaisia ​​täydennysparannuksia;
  • Komento, jota käytetään koodin kääntämiseen ja syöttämiseen "kääntää" -komennolla, on nyt konfiguroitavissa;
  • Uusi '-readnever' komentorivivalitsin nopeuttaa GDB-käynnistystä, kun virheenkorjaustietoja ei tarvita;
  • Seuraavien uusien alkuperäisten kokoonpanojen tuki:
  • FreeBSD / aarch64 (aarch64 * - * - freebsd *);
  • FreeBSD / arm (arm * - * - freebsd *);
  • Tuetaan seuraavia uusia tavoitteita:
  • FreeBSD / aarch64 (aarch64 * - * - freebsd *);
  • FreeBSD / arm (arm * - * - freebsd *);
  • OpenRISC ELF (or1k * - * - elf)
  • Tuki poistettiin seuraaville kohteille ja alkuperäisille kokoonpanoille:
  • Solaris2 / x86 (i? 86 - * - solaris2. [0-9]);
  • Solaris2 / sparc (sparc * - * - solaris2. [0-9]);

Uutta versiona:

  • Tämän GDB-version rakentaminen edellyttää seuraavia työkaluja:
  • C ++ -11-kääntäjä (esimerkiksi GCC 4.8 tai uudempi);
  • GNU tekee version 3.81 tai uudemman.
  • Tämän julkaisun muutokset ovat:
  • C ++: tukee rvalue-viitteitä
  • Python-komentosarjojen parannukset:
  • Uudet toiminnot käynnistää, pysäyttää ja käyttää käynnissä olevaa btrace-tallennusta.
  • Rvalue-referenssituki gdb.Type.
  • GDB-komentojen tulkki:
  • Käyttäjäkomennot hyväksyvät nyt rajoittamattoman määrän argumentteja.
  • & quot; eval & quot; komento laajentaa nyt käyttäjän määrittämiä argumentteja.
  • DWARF-version 5 tuki
  • (huomaa, että sen .debug_names-indeksiä ei vielä tueta).
  • GDB / MI -parannukset:
  • Uuden-tiedostoluettelon jaetut kirjastot -käsky luetteloon jaetuista kirjastoista.
  • Uuden kohde-flash-pyyhkimyskomennon avulla voit poistaa flash-muistin.
  • Tuki natiiville FreeBSD / mipsille (mips * - * - freebsd)
  • Seuraavien kohteiden tuki:
  • Synopsys ARC (kaari * - * - elf32)
  • FreeBSD / mips (mips * - * - freebsd)
  • Sekalaiset lisälaitteet:
  • Komento-rivin uudelleenohjaus tuetaan nyt MS-Windows-isännillä.
  • Langattomien nimien tuki MS-Windowsissa.
  • GNU / Linuxin PKU-rekisterin tuki.
  • Tuki sparc32- ja sparc64-kohteiden kuvauksille.
  • Uuden GDB / CLI-komennon tyhjentää flash-muisti
  • Suorita ja tarkista ohjeet tallennus- / uusintatukea.
  • Seuraavien ominaisuuksien tuki on poistettu:
  • Tuki Java-ohjelmille, jotka on koottu gcj: llä
  • Seuraavien kokoonpanojen tuki:
  • FreeBSD / alpha (alfa * - * - freebsd *)
  • GNU / kFreeBSD / alfa (alfa * - * - kfreebsd * -gnu)

    • PR rakentaa / 18033 (C ++ -tyyli kommentti, jota käytetään gdb / iq2000-tdep.c ja gdb / kääntää / koota - *. c)
    • PR build / 18298 ("kääntää" komento ei löydä kääntäjää, jos työkalut on määritetty tripletillä nelinkertaisen sijaan)
    • PR tui / 18311 (satunnainen SEGV, kun näytetään rekistereitä TUI-tilassa)
    • PR python / 18299 (poikkeus, kun rekisteröidyt globaalin melko-kirjoittimen verbos-tilassa)
    • PR python / 18066 (argumentti "sana" näyttää rikkoutuneen Command.completessä (teksti, sana))
    • PR pascal / 17815 (Korjaa pascal-käyttäytyminen luokkakentille testikotelolla)
    • PR python / 18285 (ptype expr-with-xmethod aiheuttaa SEGV: n)

    Uutta versiossa 7.9:

    • Python-komentotiedostojen parannukset.
    • Lähdekoodin kokoaminen ja pistäminen huonompiin.
    • Uudet komennot, vaihtoehdot, mukavuuden muuttujat / asetukset.
    • MIPS SDE-tuki (mips * -sde * -elf *).
    • Signaaleja käsitellään paremmin langattomien ohjelmien vianmäärityksessä.

      • PR-symtab / 17642 ([7.8 regressio])

      Uutta -orror: resolve_dynamic_struct: väittämä "TYPE_NFIELDS (tyyppi) & gt; 0" epäonnistui.)

    • PR binutils / 17677 (_bfd_elf_get_synthetic_symtab toimii O (n ^ 2) monimutkaisuudella)
    • PR gdb / 16215 (SPARC: ei voi laskea CFA: ta tähän kehykseen)
    • PR gdb / 17525 (tavoite-asynk: komentoja ei suoriteta, kun ohjelma suoritetaan -x-komentosarjasta)
    • PR cli / 17828 ([7.8 regression] -erä -ex r katkaisee päätelaitteen)

    Uutta versiossa 7.8.1:

    • PR python / 17364 (Tarvitset parempia kirjoittimen nimiä osoitteessa bound_registers.py)
    • PR rakentaa / 17104 (CFLAGS = "-Wall-Wextra" gdb / confgure --with-babeltrace epäonnistuu)
    • PR gdb / 17345 (babeltrace (1.1.2 ja uudempi) valittaa GDB: n tuottamasta ctf-tiedosta)
    • PR build / 17298 (gcore: Rekisteriä ei voitu saada: ei tällaista prosessia)
    • PR python / 17342 (Xmethod Python ei ole yhteensopiva Python 3: n kanssa)
    • PR python / 17355 (Crash Python-kehyssuodattimilla lukemattomalla arg)
    • PR-vika / 17367 (kiltapisteen laskeminen väärässä, kun pkg-config-komentosarja toimitetaan arg -mallina)
    • PR gdb / 17247 (gdb jumittaa monisäikeisiin sovelluksiin)
    • PR gdb / 17347 (Regressio: GDB pysähtyi suorittamalla liitteenä oleva prosessi)
    • PR gdb / 17407 (Regression Linux-vDSO-lukemista varten)
    • PR-palvelin / 17457 (aarch64 / gdbserver: väärät liukulukurekisterit näyttöön)
    • PR-palvelin / 17487 (state-> dr_control_mirror == 0 epäonnistunut väite gdbserverissa Windowsissa)
    • PR gdb / 17472 (merkinnöillä, syöttö suoritettaessa etualalla kaatuu readline / gdb)
    • PR gdb / 17471 (taustakomennon toistaminen tekee siitä etualan)
    • PR cli / 17300 (kaatuu pysähtyneenä tilassa jatkaa & (readline_callback_read_char () kutsutaan ilman käsittelijää!))
    • PR python / 17372 (python jumittuu näyttämällä apua ())
    • PR python / 17408 (../../gdb/infrun.c:5256: sisäinen virhe: switch_back_to_stepped_thread: Assertion `! schedlock_applies (1) 'epäonnistui.)

    Uutta versiossa 7.8:

    • Python-komentotiedostojen parannukset.
    • Uudet komennot, vaihtoehdot, mukavuuden muuttujat / asetukset.
    • Etäprotokolla ja GDBserver-lisälaitteet.
    • Uudet kohdekokoonpanot (PowerPC64 GNU / Linux little-endian).
    • btrace-lisälaitteet.
    • ISO C99-muuttuvan pituuden automaattiset taulukot tukevat.
    • "Vertailuosat" komento toimii nyt kaikilla tavoitteilla.
    • Kohde "natiivi" komento yhdistää nyt alkuperäiseen kohteeseen.

    Uutta versiossa 7.7:

    • Parannettu Python-komentosarjatuki.
    • Joitakin C ++ -parannuksia.
    • Uudet komennot, vaihtoehdot, mukavuuden muuttujat / asetukset.
    • Useita GDB / MI uusia komentoja ja parannuksia.
    • Etäprotokolla ja GDBserver-lisälaitteet.
    • Uudet kohdekokoonpanot (Nios II, TI MSP430).
    • GDB Windows x64 avata tietotukea.
    • SystemTap SDT -kokeet tukevat AArch64 GNU / Linuxia.
    • CTF (Common Trace Format) -tuki.
    • Uudet skriptit gcore ja gdb-add-index.sh.
    • Parannettu arm * -linux-levy / uusintatuki.
    • Irrotettu tuki a.out NetBSD- ja OpenBSD-vanhentuneille kokoonpanoille. Näiden kokoonpanojen ELF-muunnelmia pidetään tuettuna.
    • "Set | show remotebaud" komennot ovat vanhentuneita "show | show serial baud" -työkalun hyväksi.

      • PR breakpoint / 16251 (AArch64-laitteiston tahdistussähkövirhe virheen jälkeen

      Uutta haarukka)

    • PR gdb / 16303 (GDB 7.6.1 ei toimi binutsilla 2.24 MIPS16: lla ja microMIPS: llä)

    Uutta versiossa 7.6.1:

    PR tdep / 15420 (Virheitä ei voi suorittaa uusilla x86-solaris-versioilla - Solaris 10, päivitys 10 tai uudempi)
  • PR-kaukosäädin / 15455 (QTro-etäpaketti rikkoutunut)
  • PR build / 15476 (Build epäonnistuminen epätäydellisen enum-tyypin vuoksi utils.h)
  • PR-palvelin / 15594 (tls-tuki 64x32 x86 gdbserver ei laajenna osoitetta 64-bittiseksi)
  • PR-palvelin / 15075 (dprintf inteferes kanssa "seuraava")
  • PR-palvelin / 15434 (dprintf käyttää synkronoitua "jatkaa" myös non-stop-tilassa)
  • PR tui / 14880 (split-rekisteriasettelussa, ylöspäin johtaa arvion epäonnistumiseen arvoon.c)
  • PR c ++ / 15519 (GDB 7.6 on 94x hitaampi kuin GDB 7.5.1 käyttämällä tiettyä ytimen tiedostoa)
  • PR gdb / 15837 (GDB tulostaa paikallisten muuttujien arvot)
  • PR gdb / 15415 (gdb ratkaisee symboliset linkit ohjelmaan argv [0])
  • PR cli / 15603 (CTRL-C ei voi enää keskeyttää huonompia)
  • PR gdb / 15604 (gdbserver socket leak 7.5 regressio)

Uutta versiossa 7.5:

  • Siirry kielten tukeen.
  • Uudet tavoitteet (x32 ABI, microMIPS, Renesas RL78, HP OpenVMS ia64).
  • Lisää Python-komentosarjatöitä.
  • SDT (Static Defined Tracing) -tunnistimet tukevat SystemTap-koettimia.
  • GDB-palvelimen parannukset (stdio-yhteydet, kohdepuolen arviointi taittopisteolosuhteista, etäprotokollan parannukset).
  • Muut sekalaiset parannukset (kyky pysähtyä, kun jaettu kirjasto on ladattu / purettu, dynaaminen printf jne.).
  • Käänteinen virheenkorjaus ARM: ssä.
  • Binaarinen "gdbtui" on hylätty ja sitä ei voida enää rakentaa. Käytä & quot; gdb -tui & quot; sijaan.

Uutta versiossa 7.4:

  • Epäkelpoiset rivitekijät käsitellään nykyään johdonmukaisemmin.
  • Epätoivottuja toimintoja ja tiedostoja voidaan ohittaa siirtymällä & quot; ohita toiminto & quot; ja "ohita tiedosto" komentoja.
  • Lisättiin käskyjä, joiden avulla määritettäisiin ja saavutettaisiin etäisen kohdelaitteen valvontapisteen enimmäispituusraja.
  • Python-komentosarjat parantuivat huomattavasti.
  • Tehtiin monia muita parannuksia, vikakorjauksia ja yleisiä muutoksia.

Uutta versiossa 7.1:

  • Tuki uusille kohteille (simulaattori mukaan lukien):
  • Xilinx MicroBlaze
  • Renesas RX
  • Suurimmat uudet ominaisuudet ovat:
  • Usean ohjelman virheenkorjaus, jonka ansiosta debuggeri voi hallita enemmän kuin
  • yksi ohjelma samassa GDB-istunnossa.
  • Aseta itsenäinen suoritettava (PIE) virheenkorjaus.
  • Mukana on myös monia parannuksia ja virheenkorjauksia, kuten:
  • Python-tuki on laajennettu.
  • C ++ -tuen parannukset (nimiavaruus, valetut operaattorit, virheenkorjaukset)
  • Tracepoint-tuen parannukset.
  • Prosessitallennusparannukset (tallennus / palautuspäiväkirja, laitteisto
  • valvontapisteen tuki.
  • Etäprotokollan parannukset (Linux-ytimen virheenkorjaus, uudet paketit
  • jäljitystuki)

Vastaavia ohjelmistoja

jTracer
jTracer

17 Feb 15

python-ptrace
python-ptrace

11 May 15

Frosted
Frosted

17 Feb 15

Clint
Clint

2 Jun 15

Muu ohjelmistojen kehittäjä Stan Shebs

Xconq
Xconq

2 Jun 15

Kommentit GDB

Kommentteja ei löytynyt
Lisää kommentti
Ota kuvia!