GDB

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

Rating: 4.0/5 (Total Votes: 4)

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

MBW
MBW

18 Feb 15

dprintf
dprintf

20 Feb 15

UpStare
UpStare

20 Feb 15

PureTest
PureTest

11 May 15

Annen programvare fra utvikleren Stan Shebs

Xconq
Xconq

2 Jun 15

Kommentarer til GDB

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