GDB

Skjermbilde programvare:
GDB
Prog.varedetaljer:
Versjon: 8.1.1 Oppdatert
Last opp dato: 16 Aug 18
Utvikler: Stan Shebs
Lisens: Gratis
Popularitet: 181

Rating: 3.5/5 (Total Votes: 2)

GDB (også kjent som GNU Project debugger) er en åpen kildekode og gratis kommandolinjeprogramvare som gjør det mulig for brukere og utviklere å se hva som skjer "inne i et annet program, mens det er henrettet, eller hvorfor et program krasjer på et bestemt tidspunkt.


Funksjoner med et blikk

Nøkkelfunksjoner inkluderer fire forskjellige teknikker for å hjelpe utviklere med å få feil i handlingen, starte et program og spesifisere noe som kan påvirke oppførselen, stoppe et program på bestemte vilkår, undersøke loggene når programmet krasjer, gradvis endre ting i et program for å eksperimentere med å korrigere effekten av ett problem, og fortsett ved å lære om en annen feil. Den støtter også feilsøking av programmer skrevet i et bredt spekter av programmeringsspråk, inkludert C, C ++, Pascal , Ada, Objective-C, og mange andre.

Det er en kommandolinjeprogram

GNU Project debugger er en vil alltid være en kommandolinjeprogram. For å bruke den må du kjøre & ldquo; gdb & rdquo; kommandoen i en terminalemulator, og kjør deretter & ldquo; hjelpen & rdquo; kommandoen (uten anførselstegn) en gdb-spørringen. I tillegg kan du også skrive inn & ldquo; hjelp alle & rdquo; kommando for å vise en liste over alle kommandoer, skriv "hjelp" etterfulgt av kommandoenavn for å se fullstendig dokumentasjon, skriv "hjelp" etterfulgt av et klassenavn for å vise en liste over kommandoer i den klassen, for å skrive "apropos word" for å søke for kommandoer relatert til "ord".


Liste over kommandoklasser

Etter å ha skrevet & ldquo; hjelpen & rdquo; kommando som beskrevet ovenfor, vil du se en liste over klasser av kommandoer, inkludert aliaser (viser aliaser av andre kommandoer), brytepunkter (gjør at programmet stopper på bestemte punkter), data (for å undersøke data), filer (for å undersøke filer) , interne (vedlikeholdskommandoer), obskure (obskure funksjoner), kjører (for å kjøre programmet), stabling (for å undersøke stabelen), status (for statusforespørsler), støtte (for støttesteder) stopper programmet) og brukerdefinerte (brukerdefinerte kommandoer).

Støttede maskinvareplattformer og operativsystemer

GDB er designet fra offset til å være et tverrplattformsprogram, som kjører på vanlige operativsystemer som Microsoft Windows og noen av de mest populære Linux / UNIX-varianter. Den støttes på både 32-biters og 64-bits maskinvareplattformer.

Hva er nytt i denne versjonen:

  • PR gdb / 22824 (villedende beskrivelse av ny rbreak Python-funksjon i GDB 8.1 NEWS-fil)
  • PR gdb / 22849 (ctrl-c virker ikke i ekstern fjernkontroll)
  • PR gdb / 22907 ([Regresjon] gdbserver virker ikke med filnavn-bare binære filer)
  • PR gdb / 23028 (inkonsekvent demontering av vcvtpd2dq)
  • PR gdb / 23053 (Fix -D_GLIBCXX_DEBUG gdb-add-index regresjon)
  • PR gdb / 23127 ([AArch64] GDB kan ikke brukes til feilsøkingsprogramvare som bruker høye virtuelle adresser)
  • PR-server / 23158 (gdbserver ikke lenger funksjonell på Windows)
  • PR breakpoints / 23210 ([8.1 / 8.2 Regression] Bogus Breakpoint-adresse justert fra 0xf7fe7dd3 til 0xfffffffff7fe7dd3)

Hva er nytt i versjon 8.1:

  • Bruddpunkter på C + + -funksjoner er nå satt som standard på alle områder ("vill" samsvarer);
  • Støtte for å sette inn breakpoints på funksjoner merket med C ++ ABI-koder;
  • Mål flytende-punkt aritmetisk emulering under ekspresjonsevaluering (krever MPFR 3.1 eller nyere);
  • Forskjellige Python Scripting forbedringer;
  • Forbedret ruststøtte; Spesielt kan Trait-objekter nå bli inspisert når feilsøking Rust-kode;
  • GDB gjør ikke lenger antagelser om typen symboler uten feilsøkingsinformasjon for å unngå å produsere feilaktige og ofte forvirrende resultater;
  • Kommandoerene "aktiver" og "deaktiver" aksepterer nå et utvalg av brytpunktssteder;
  • Ny start-kommando for å starte programmet ved første instruksjon;
  • Ny "rbreak" -kommando for å sette inn en rekke bruddpunkter via et vanlig uttrykksmønster (krever Python);
  • Kommandoen 'ptype' støtter nå utskrift av forskyvning og størrelse på feltene i en struktur;
  • Kommandoen 'gcore' støtter nå dumping av alle minnekortleggingene ('-a' kommandolinjevalg);
  • Nye snarveier for TUI Single-Key-modus: 'jeg' for stepi og 'o' for nexti;
  • Forbedringer av GDBserver:
  • Støtte for overføring av miljøvariabler til GDBserver;
  • Støtte for å starte underordnede prosesser med en spesifisert startkatalog;
  • På Unix-systemer, støtte for globbing-ekspansjon og variabel substitusjon av argumenter med underordnet kommandolinje;
  • Forskjellige forbedringsforbedringer;
  • Kommandoen som brukes til å kompilere og injisere kode med kommandoen 'compile', kan nå konfigureres;
  • Ny '--readnever' kommandolinjealternativ for å øke hastigheten på GDB-oppstart når feilsøkingsinformasjon ikke er nødvendig;
  • Støtte for følgende nye innfødte konfigurasjoner:
  • FreeBSD / aarch64 (aarch64 * - * - freebsd *);
  • FreeBSD / arm (arm * - * - freebsd *);
  • Støtte for følgende nye mål:
  • FreeBSD / aarch64 (aarch64 * - * - freebsd *);
  • FreeBSD / arm (arm * - * - freebsd *);
  • OpenRISC ELF (or1k * - * - elf)
  • Fjernet støtte for følgende mål og innfødte konfigurasjoner:
  • Solaris2 / x86 (jeg? 86 - * - solaris2. [0-9]);
  • Solaris2 / sparc (sparc * - * - solaris2. [0-9]);

Hva er nytt i versjon:

  • Å bygge denne versjonen av GDB krever nå følgende verktøy:
  • En C ++ - 11 kompilator (for eksempel GCC 4.8 eller nyere);
  • GNU gjør versjon 3.81 eller nyere.
  • Endringer i denne utgaven inkluderer:
  • C ++: Støtte for rvalue referanser
  • Python-skriptforbedringer:
  • Nye funksjoner for å starte, stoppe og få tilgang til et løpende btrace-opptak.
  • Rvalue referansestøtte i gdb.Type.
  • GDB kommandoer tolk:
  • Brukerkommandoer aksepterer nå et ubegrenset antall argumenter.
  • Den "eval" kommandoen utvider nå brukerdefinerte argumenter.
  • DWARF versjon 5-støtte
  • (merk at indeksen .debug_names ikke støttes ennå).
  • Forbedringer i GDB / MI:
  • Kommandoen New-list-list-shared-libraries for å liste de delte bibliotekene i programmet.
  • New-target-flash-erase-kommandoen, for å slette flashminne.
  • Støtte for native FreeBSD / mips (mips * - * - freebsd)
  • Støtte for følgende mål:
  • Synopsys ARC (bue * - * - elf32)
  • FreeBSD / mips (mips * - * - freebsd)
  • Diverse forbedringer:
  • Omdirigering av kommandolinje støttes nå på MS-Windows-verter.
  • Støtte for trådnavn på MS-Windows.
  • Støtte for PKU-registret på GNU / Linux.
  • Støtte for målbeskrivelser på sparc32 og sparc64.
  • Ny GDB / CLI-kommando for å slette flashminne
  • rdrand og rdseed instruksjoner for rekord / replay-støtte.
  • Støtte for følgende funksjoner er fjernet:
  • Støtte for Java-programmer kompilert med gcj
  • Støtte for følgende konfigurasjoner:
  • FreeBSD / alpha (alfa * - * - freebsd *)
  • GNU / kFreeBSD / alpha (alfa * - * - kfreebsd * -gnu)

Hva er nytt? i versjon 7.9.1:

  • PR bygge / 18033 gdb / iq2000-tdep.c og gdb / compile / compile - *. c)
  • PR build / 18298 ("compile" -kommandoen kan ikke finne kompilatoren hvis verktøyene er konfigurert med triplet i stedet for firedoblet)
  • PR tui / 18311 (Tilfeldig SEGV når du viser registre i TUI-modus)
  • PR python / 18299 (unntak når du registrerer en global pen skriver i verbose modus)
  • PR python / 18066 (argument "ord" virker ødelagt i Command.complete (tekst, ord))
  • PR pascal / 17815 (Fix pascal oppførsel for klassefelt med testcase)
  • PR python / 18285 (ptype expr-with-xmethod forårsaker SEGV)

Hva er nytt i versjon 7.9:

  • Python-skriptforbedringer.
  • Kildekompilering og injeksjon i underordnet.
  • Nye kommandoer, alternativer, bekvemmelighetsvariabler / alternativer.
  • MIPS SDE-støtte (mips * -sde * -elf *).
  • Bedre håndtering av signaler ved feilsøking av gjengede programmer.

Hva er nytt i versjon 7.8.2:

  • PR symtab / 17642 -ror: resolve_dynamic_struct: Påstanden `TYPE_NFIELDS (type)> 0 'mislyktes.)
  • PR binutils / 17677 (_bfd_elf_get_synthetic_symtab kjører i O (n ^ 2) kompleksitet)
  • PR gdb / 16215 (SPARC: kan ikke beregne CFA for denne rammen)
  • PR gdb / 17525 (mål-async: brytpunktskommandoer utføres ikke når programmet kjøres fra -x script)
  • PR cli / 17828 ([7,8 regresjon] -batch -ex r bryter terminal)

Hva er nytt i versjon 7.8.1:

  • PR python / 17364 (Trenger bedre skrivernavn i bound_registers.py)
  • PR build / 17104 (CFLAGS = "-Wall -Wextra" gdb / confgure --with-babeltrace mislykkes)
  • PR gdb / 17345 (babeltrace (1.1.2 og senere) klager over ctf-data generert av GDB)
  • PR build / 17298 (gcore: Kunne ikke få registre: Ingen slik prosess)
  • PR python / 17342 (Xmethod Python er ikke Python 3 kompatibel)
  • PR python / 17355 (Crash on Python-rammefiltre med ulestelig arg)
  • PR guile / 17367 (beregning av guildbane feil når pkg-config-skript leveres som arg til -with-guile)
  • PR gdb / 17247 (gdb fryser på multi threaded app)
  • PR gdb / 17347 (Regresjon: GDB stoppet ved kjøring med vedlagt prosess)
  • PR gdb / 17407 (Regression for Linux vDSO lesing)
  • PR-server / 17457 (aarch64 / gdbserver: feil flytende punktregister vises)
  • PR-server / 17487 (state-> dr_control_mirror == 0 mislyktes påstand i gdbserver på Windows)
  • PR gdb / 17472 (med merknader, inngang mens kjøringen foregår i forgrunnen, krasjer readline / gdb)
  • PR gdb / 17471 (gjenta en bakgrunnskommando gjør den forgrunnen)
  • PR cli / 17300 (krasj i nonstop-modus med fortsett -a & (readline_callback_read_char () kalt uten handler!))
  • PR python / 17372 (python henger når du viser hjelp ())
  • PR python / 17408 (../../gdb/infrun.c:5256: intern-feil: switch_back_to_stepped_thread: Påstand `! schedlock_applies (1) 'mislyktes.)

Hva er nytt i versjon 7.8:

  • Guile scripting support.
  • Python-skriptforbedringer.
  • Nye kommandoer, alternativer, bekvemmelighetsvariabler / alternativer.
  • Ekstern protokoll og GDBserver forbedringer.
  • Nye målkonfigurasjoner (PowerPC64 GNU / Linux little endian).
  • forbedringer for btrace.
  • ISO C99-støtte for automatisk variabel lengde automatisk.
  • "Sammenlign-seksjonene" kommandoen fungerer nå på alle mål.
  • Den "målfødte" kommandoen kobles nå til det opprinnelige målet.

Hva er nytt i versjon 7.7:

  • Forbedret Python scripting support.
  • Noen C ++ forbedringer.
  • Nye kommandoer, alternativer, bekvemmelighetsvariabler / alternativer.
  • Flere GDB / MI nye kommandoer og forbedringer.
  • Ekstern protokoll og GDBserver forbedringer.
  • Nye målkonfigurasjoner (Nios II, TI MSP430).
  • GDB Windows x64 avviker datastøtte.
  • SystemTap SDT probes støtte på AArch64 GNU / Linux.
  • Støtte for CTF (Common Trace Format).
  • Nye skript gcore og gdb-add-index.sh.
  • Forbedret arm * -linux rekord / replay-støtte.
  • Fjernet støtte for a.out NetBSD og OpenBSD foreldede konfigurasjoner. ELF-varianter av disse konfigurasjonene holdes støttet.
  • Den "sett | Vis remotebaud" kommandoer blir avskrevet til fordel for "show | show serial baud".

Hva er nytt i versjon 7.6.2:

  • PR breakpoint / 16251 gaffel)
  • PR gdb / 16303 (GDB 7.6.1 virker ikke med binutils 2.24 på MIPS16 og microMIPS)

Hva er nytt i versjon 7.6.1:

  • PR tdep / 15420 (Kan ikke feilsøke gjengede programmer på nyere versjoner av x86-solaris - Solaris 10, Update 10 eller nyere)
  • PR fjernkontroll / 15455 (QTro fjernpakke ødelagt)
  • PR build / 15476 (Bygningsfeil på grunn av ufullstendig enumtype i utils.h)
  • PR-server / 15594 (tls-støtte i 64x32 x86 gdbserver utvider ikke adressen til 64 bit)
  • PR-server / 15075 (dprintf slår inn med "neste")
  • PR-server / 15434 (dprintf bruker en synkron "fortsett" selv i non-stop-modus)
  • PR tui / 14880 (i delt registeroppsett, resulterer opp i påstandssvikt i verdi.c)
  • PR c ++ / 15519 (GDB 7.6 er 94x langsommere enn GDB 7.5.1 ved hjelp av en bestemt kjernefil)
  • PR gdb / 15837 (GDB skriver innverdier for lokale variabler)
  • PR gdb / 15415 (gdb løser symbolske koblinger når passerer argv [0])
  • PR cli / 15603 (CTRL-C kan ikke lenger forstyrre dårligere)
  • PR gdb / 15604 (gdbserver sokkel lekkasje 7.5 regresjon)

Hva er nytt i versjon 7.5:

  • Gå til språkstøtte.
  • Nye mål (x32 ABI, microMIPS, Renesas RL78, HP OpenVMS ia64).
  • Flere Python scripting forbedringer.
  • SDT (Statisk Defined Tracing) -prober støtter med SystemTap-sonder.
  • Forbedringer i GDBserver (stdio-tilkoblinger, evaluering av målside av bruddpunktsbetingelser, forbedringer av eksterne protokoller).
  • Andre diverse forbedringer (evnen til å stoppe når et delt bibliotek er lastet / losset, dynamisk printf, etc.).
  • Omvendt feilsøking på ARM.
  • Den binære "gdbtui" har blitt forlatt og kan ikke lenger bygges. Bruk "gdb -tui" i stedet.

Hva er nytt i versjon 7.4:

  • Tosfylte linjespesifikasjoner håndteres nå mer konsistent.
  • Uinteressante funksjoner og filer kan nå hoppes over når du går med "hoppe-funksjonen" og "hopp over fil" kommandoer.
  • Kommandoer for innstilling og maksimal lengdegrense for et fjernmålt hardwarehardwarepunkt ble lagt til.
  • Python-skripting ble vesentlig forbedret.
  • Mange andre forbedringer, feilrettinger og generelle endringer ble gjort.

Hva er nytt i versjon 7.1:

  • Støtte for nye mål (inkludert en simulator):
  • Xilinx MicroBlaze
  • Renesas RX
  • De store nye funksjonene er:
  • Feilsøking av flere programmer, slik at debuggeren kan kontrollere mer enn
  • ett program i samme GDB-sesjon.
  • Angi uavhengig kjørbar (PIE) feilsøking.
  • Den inneholder også mange forbedringer og feilrettinger, inkludert:
  • Python-støtte er utvidet.
  • C ++-støtteforbedringer (navneområde, cast-operatører, feilrettinger)
  • Tracepoint-støtteforbedringer.
  • Behandle opptaksforbedringer (lagre / gjenopprett utførelseslogg, maskinvare
  • overvåkingsstøtte).
  • Fjernprotokollforbedringer (Linux-kjernefeil, nye pakker
  • for støttestøtte)

Lignende programvare

glibc-audit
glibc-audit

3 Jun 15

dprintf
dprintf

20 Feb 15

pytrace
pytrace

20 Feb 15

Annen programvare fra utvikleren Stan Shebs

Xconq
Xconq

2 Jun 15

Kommentarer til GDB

Kommentarer ikke funnet
Legg til kommentar
Slå på bilder!