GDB

Screenshot Software:
GDB
Detalii soft:
Versiune: 8.1.1 Actualizat
Incarca data: 16 Aug 18
Producător: Stan Shebs
Licenţă: Gratuit
Popularitate: 181

Rating: 3.5/5 (Total Votes: 2)

GDB (de asemenea, cunoscut sub numele de GNU depanator Project) este un software gratuit de linie de comandă open source și care permite utilizatorilor și dezvoltatorilor, cât pentru a vedea ce se întâmplă `în interiorul“ un alt program, în timp ce este executat sau de ce o aplicație cade într-un anumit punct.


Caracteristici dintr-o privire

Caracteristicile cheie includ patru tehnici diferite pentru a ajuta dezvoltatorii prinde bug-uri în actul, începe o cerere și specificând orice lucru care ar putea afecta comportamentul său, face o oprire de program privind condițiile specificate, examinați jurnalele atunci când cererea sa prăbușit, schimba treptat lucrurile în un program pentru a experimenta corectarea efectelor unei probleme și pentru a continua să înveți despre o altă eroare. De asemenea, sprijină depanarea programelor scrise într-o gamă largă de limbi de programare, inclusiv C, C ++, Pascal , Ada, Obiectiv-C și multe altele.

Este o aplicație de linie de comandă

Debugger-ul GNU Project este o aplicație de linie de comandă. Pentru a-l utiliza, trebuie să rulați "gdb & rdquo; comanda într-un emulator terminal, apoi executați "help" comandă (fără citare) și promptul gdb. În plus, puteți de asemenea să tastați "help all" pentru a vedea o listă a tuturor comenzilor, tastați "help" urmat de numele comenzii pentru a vedea documentația completă, tastați "help" urmat de un nume de clasă pentru a vedea o listă de comenzi din acea clasă, pentru a tasta "apropos word" pentru comenzi legate de "cuvânt".


Lista de clase de comenzi

După ce ați introdus "help" (Ajutor & rdquo; comanda, așa cum este descris mai sus, veți vedea o listă de clase de comenzi, inclusiv aliasuri (afișează aliasuri ale altor comenzi), puncte de oprire (face ca programul să se oprească la anumite puncte), date (pentru examinarea datelor), fișiere (pentru examinarea fișierelor) , intervale (comenzi de întreținere), obscur (funcții obscure), alergare (pentru rularea programului), stivă (pentru examinarea stivei), stare (pentru solicitări de stare) oprirea programului) și comenzi definite de utilizator (definite de utilizator).

Platforme hardware și OS suportate

GDB a fost proiectat din offset pentru a fi o aplicație cross-platform, care rulează pe sisteme de operare mainstream precum Microsoft Windows și unele dintre cele mai populare variante Linux / UNIX. Este susținută atât pe platformele hardware pe 32 de biți, cât și pe 64 de biți.

Ce este nou în această versiune:

  • PR gdb / 22824 (descriere eronată a noii funcții Python în fișierul GDB 8.1 NEWS)
  • PR gdb / 22849 (ctrl-c nu funcționează în telecomanda extinsă)
  • PR gdb / 22907 ([Regresia] gdbserver nu funcționează cu binare numai pentru nume de fișiere)
  • PR gdb / 23028 (dezasamblarea inconsistentă a vcvtpd2dq)
  • PR gdb / 23053 (Fixare -D_GLIBCXX_DEBUG regresie gdb-add-index)
  • PR gdb / 23127 ([AArch64] GDB nu poate fi folosit pentru depanarea software-ului care utilizează adresele virtuale mari)
  • server PR / 23158 (gdbserver nu mai funcționează pe Windows)
  • Puncte de blocare PR / 23210 ([8,1 / 8,2 Regresie] Adresă punct de referință Bogus ajustată de la 0xf7fe7dd3 la 0xfffffffff7fe7dd3)

Ce este nou în versiunea 8.1:

  • Punctele de întrerupere a funcțiilor C ++ sunt acum setate în mod implicit pe toate domeniile ("potrivire sălbatică");
  • Suport pentru introducerea punctelor de întrerupere pe funcțiile marcate cu etichete C ++ ABI;
  • Obiectivul emulației aritmetice în virgulă mobilă în timpul evaluării expresiei (necesită MPFR 3.1 sau o versiune ulterioară);
  • Diferite îmbunătățiri în Python Scripting;
  • Sprijin îmbunătățit împotriva ruginii; în special, obiectele Trait pot fi acum inspectate la depanarea codului ruginii;
  • GDB nu mai face ipoteze cu privire la tipul de simboluri fără a depana informații pentru a evita producerea unor rezultate eronate și adesea confuze;
  • Comenzile "enable" și "disable" acceptă acum o gamă de locații de puncte de întrerupere;
  • Noua comandă "starti" pentru a porni programul la prima instrucțiune;
  • Noua comandă "rbreak" pentru a insera un număr de puncte de întrerupere prin intermediul unui model de expresie obișnuită (necesită Python);
  • Comanda "ptype" acceptă acum imprimarea offsetului și a dimensiunii câmpurilor într-un struct;
  • Comanda "gcore" suporta acum anularea tuturor mapărilor de memorie ('-a' opțiunea de linie de comandă);
  • Noi comenzi rapide pentru modul TUI cu o singură tastă: 'i' pentru stepi și 'o' pentru nexti;
  • Îmbunătățirile GDBserver:
  • Suport pentru transmiterea variabilelor de mediu către GDBserver;
  • Suport pentru pornirea proceselor inferioare cu un director de lucru inițial specificat;
  • pe sistemele Unix, suport pentru extinderea globului și substituirea variabilă a argumentelor liniei de comandă inferioare;
  • Diferite îmbunătățiri de finalizare;
  • Comanda utilizată pentru a compila și a injecta codul cu comanda 'compile' este acum configurabilă;
  • Opțiunea de linie de comandă nouă "--readnever" pentru a accelera pornirea GDB atunci când informațiile de depanare nu sunt necesare;
  • Suport pentru următoarele configurații native noi:
  • FreeBSD / aarch64 (aarch64 * - * - freebsd *);
  • FreeBSD / braț (braț * - * - freebsd *);
  • Sprijină următoarele obiective noi:
  • FreeBSD / aarch64 (aarch64 * - * - freebsd *);
  • FreeBSD / braț (braț * - * - freebsd *);
  • OpenRISC ELF (sau1k * - * - elf)
  • S-a eliminat suportul pentru următoarele obiective și configurații native:
  • Solaris2 / x86 (i? 86 - * - solaris2. [0-9]);
  • Solaris2 / sparc (sparc * - * - solaris2. [0-9]);

Ce este nou în versiune:

  • Construirea acestei versiuni a GDB necesită acum următoarele instrumente:
  • un compilator C ++ - 11 (de exemplu, GCC 4.8 sau o versiune ulterioară);
  • GNU face versiunea 3.81 sau o versiune ulterioară.
  • Modificările din această versiune includ:
  • C ++: Suport pentru referințe rvalue
  • Îmbunătățiri de scripting Python:
  • Noi funcții pentru pornirea, oprirea și accesarea unei înregistrări btrace în desfășurare.
  • Rulați suportul de referință în gdb.Type.
  • GDB comandă interpret:
  • Comenzile utilizatorilor acceptă acum un număr nelimitat de argumente.
  • "Eval" comanda extinde acum argumentele definite de utilizator.
  • suport DWARF versiunea 5
  • (rețineți că indexul său .debug_names nu este încă acceptat).
  • Îmbunătățiri GDB / MI:
  • Comanda nou-listă-listă-biblioteci partajate pentru a afișa bibliotecile partajate din program.
  • Comanda nou-target-flash-erase, pentru a șterge memoria flash.
  • Suport pentru FreeBSD native / mips (mips * - * - freebsd)
  • Suport pentru următoarele obiective:
  • Synopsys ARC (arc * - * - elf32)
  • FreeBSD / mips (mips * - * - freebsd)
  • Diverse îmbunătățiri:
  • Redirecționarea liniei de comandă este acum acceptată pe gazdele MS-Windows.
  • Suport pentru numele de fire pe MS-Windows.
  • Suport pentru registrul PKU pe GNU / Linux.
  • Suport pentru descrierile țintă pe sparc32 și sparc64.
  • Noua comandă GDB / CLI pentru ștergerea memoriei flash
  • instrumentele de înregistrare / reluare a instrucțiunilor rdrand și rdseed.
  • Suportul pentru următoarele caracteristici a fost eliminat:
  • Suport pentru programe Java compilate cu gcj
  • Suport pentru următoarele configurații:
  • FreeBSD / alfa (alfa * - * - freebsd *)
  • GNU / kFreeBSD / alfa (alfa * - * - kfreebsd * -gnu)

Ce este nou în versiunea 7.9.1:

  • PR build / 18033 gdb / iq2000-tdep.c și gdb / compilați / compilați - *. c)
  • PR build / 18298 (comanda "compilează" nu poate găsi compilatorul dacă instrumentele configurate cu triplet în loc de quadruplet)
  • PR tui / 18311 (Segv aleator atunci când se afișează registrele în modul TUI)
  • PR python / 18299 (excepție la înregistrarea unei imprimante drăguțe globale în modul verbose)
  • PR python / 18066 (argumentul "cuvânt" pare a fi rupt în Command.complete (text, cuvânt))
  • PR pascal / 17815 (Fixarea comportamentului pascal pentru câmpurile de clasă cu testcase)
  • PR python / 18285 (ptype expr-with-xmethod provoacă SEGV)

Ce este nou în versiunea 7.9:

  • Îmbunătățirile de scripting Python.
  • Compilarea codului sursă și injectarea în inferior.
  • Comenzi noi, opțiuni, variabile de confort / opțiuni.
  • Suport MIPS SDE (mips * -sde * -elf *).
  • O mai bună manipulare a semnalelor atunci când depanați programe cu filet.

Ce este nou în versiunea 7.8.2: -error: resolve_dynamic_struct: afirmația "TYPE_NFIELDS (type) & gt; 0" a eșuat.)

  • PR binutils / 17677 (_bfd_elf_get_synthetic_symtab rulează în complexitatea O (n ^ 2))
  • PR gdb / 16215 (SPARC: nu poate calcula CFA pentru acest cadru)
  • PR gdb / 17525 (comenzile target-async: breakpoint nu sunt executate atunci când programul rulează din scriptul -x)
  • PR cli / 17828 (terminal [7.8 regresie] -batch -ex r)
  • Ce este nou în versiunea 7.8.1:

    • PR python / 17364 (Aveți nevoie de mai multe nume de imprimante în bound_registers.py)
    • PR build / 17104 (CFLAGS = "-Wall -Wextra" gdb / confgure -with-babeltrace eșuează)
    • PR gdb / 17345 (babeltrace (1.1.2 și mai târziu) se plânge de datele ctf generate de GDB)
    • PR build / 17298 (gcore: nu s-au putut obține registre: niciun astfel de proces)
    • PR python / 17342 (Xmethod Python nu este compatibil cu Python 3)
    • PR python / 17355 (Crash pe filtrele de tip Python cu argint necitit)
    • PR guile / 17367 (calculul căii ghildei este greșit atunci când scriptul pkg-config este furnizat ca arg la --with-guile)
    • PR gdb / 17247 (blochează gdb pe aplicația multiplă)
    • PR gdb / 17347 (Regresie: GDB oprit pe rularea cu procesul atașat)
    • PR gdb / 17407 (Regresie pentru citirea vDSO Linux)
    • server PR / 17457 (aarch64 / gdbserver: afișare greșită a registrelor cu virgulă mobilă)
    • server PR / 17487 (stat-> dr_control_mirror == 0 nu a reușit să afirme în gdbserver pe Windows)
    • PR gdb / 17472 (cu adnotări, intrare în timpul executării în blocurile de prim-plan readline / gdb)
    • PR gdb / 17471 (repetarea unei comenzi de fundal o face în prim-plan)
    • PR cli / 17300 (crash în modul non-stop cu continuă -a & (readline_callback_read_char () apelat fără un handler!))
    • PR python / 17372 (Python se blochează la afișarea ajutorului ())
    • PR python / 17408 (../../gdb/infrun.c:5256: eroare internă: switch_back_to_stepped_thread: Assertion `! schedlock_applies (1) 'nu a reușit.)

    Ce este nou în versiunea 7.8:

  • Îmbunătățirile de scripting Python.
  • Comenzi noi, opțiuni, variabile de confort / opțiuni.
  • Îmbunătățirile de protocol la distanță și GDBserver.
  • Noi configurații țintă (PowerPC64 GNU / Linux puțin-endian).
  • îmbunătățiri btrace.
  • Sprijin pentru rețelele automate cu lungime variabilă ISO C99.
  • Secțiunile "comparați-secțiuni" comanda funcționează acum pe toate țintele.
  • "Tinta nativ" comanda se conectează acum la ținta nativă.
  • Ce este nou în versiunea 7.7:

    • Sprijin îmbunătățit de scripting Python.
    • Unele îmbunătățiri în C ++.
    • Comenzi noi, opțiuni, variabile de confort / opțiuni.
    • Mai multe comenzi și îmbunătățiri noi GDB / MI.
    • Îmbunătățirile de protocol la distanță și GDBserver.
    • Noi configurații țintă (Nios II, TI MSP430).
    • GDB Windows x64 pentru îmbunătățirea suportului de date.
    • SystemTap SDT suportă sonde pe AArch64 GNU / Linux.
    • suport CTF (Common Trace Format).
    • Noi scripturi gcore și gdb-add-index.sh.
    • Îmbunătățirea brațului * -linux de înregistrare / reluare suport.
    • S-a eliminat suportul pentru configurațiile învechite NetBSD și OpenBSD. Variantele ELF ale acestor configurații sunt menținute acceptate.
    • "Setarea | arată remotebaud" comenzile sunt depreciate în favoarea "show show show baud".

    Ce este nou în versiunea 7.6.2:

    • PR breakpoint / 16251 furculiță)
    • PR gdb / 16303 (GDB 7.6.1 nu funcționează cu binutils 2.24 pe MIPS16 și microMIPS)

    Ce este nou în versiunea 7.6.1:

    • PR tdep / 15420 (Nu pot fi depanate programe cu filet pe versiuni mai noi ale x86-solaris - Solaris 10, Update 10 sau mai recent)
    • PR remote / 15455 (rupt QTro pachet la distanță)
    • PR build / 15476 (Construiește eșec din cauza tipului incomplet în utils.h)
    • server PR / 15594 (suportul tls în 64x32 x86 gdbserver nu extinde adresa la 64 de biți)
    • server PR / 15075 (interacționează cu "următorul")
    • server PR / 15434 (dprintf folosește o "continuă" sincronă chiar și în modul non-stop)
    • PR tui / 14880 (în structuri de registru împărțit, rezultatul este o afirmație de eșec în valoarea.c)
    • PR c ++ / 15519 (GDB 7.6 este 94x mai lent decât GDB 7.5.1 folosind un anumit fișier de bază)
    • PR gdb / 15837 (GDB imprimă valorile de intrare pentru variabilele locale)
    • PR gdb / 15415 (gdb rezolvă linkurile simbolice la trecerea argv [0])
    • PR cli / 15603 (CTRL-C nu mai poate întrerupe inferior)
    • PR gdb / 15604 (regresia de scurgere a soclului gdbserver 7,5)

    Ce este nou în versiunea 7.5:

    • Accesați suportul de limbă.
    • obiective noi (x32 ABI, microMIPS, Renesas RL78, HP OpenVMS ia64).
    • Mai multe îmbunătățiri de scripting Python.
    • Suportul sondei SDT (Static Defined Tracking) cu sonde SystemTap.
    • Îmbunătățirile GDBserver (conexiuni stdio, evaluarea de la punctul-țintă a condițiilor de întrerupere, îmbunătățirea protocolului la distanță).
    • Alte îmbunătățiri diverse (abilitatea de a opri atunci când o bibliotecă partajată este încărcată / descărcată, printf dinamic etc.).
    • Depanarea inversă pe ARM.
    • Binarul "gdbtui" a fost abandonat și nu mai poate fi construit. Utilizați "gdb-tui" în schimb.

    Ce este nou în versiunea 7.4:

    • Funcțiile și fișierele neinteresante pot fi acum sărit peste pas cu funcția "săriți" și "săriți fișierul" comenzi.
    • Au fost adăugate comenzi pentru setarea și obținerea limitei maxime a lungimii unui punct de supraveghere hardware de destinație la distanță.
    • Scrierea Python a fost mult îmbunătățită.
    • Au fost făcute multe alte îmbunătățiri, corecții de bug-uri și modificări generale.

    Ce este nou în versiunea 7.1:

    • Sprijin pentru noi obiective (inclusiv un simulator):
    • Xilinx MicroBlaze
    • Renesas RX
    • Principalele caracteristici noi sunt: ​​
    • Depanarea cu mai multe programe, care permite debuggerului să controleze mai mult de
    • un program din aceeași sesiune GDB.
    • Debugging executabil independent de poziție (PIE).
    • De asemenea, acesta oferă numeroase îmbunătățiri și remedierile de erori, inclusiv:
    • Suportul Python a fost extins.
    • Îmbunătățirile de asistență pentru C ++ (spațiu de nume, operatori de distribuție, corecții de erori)
    • Îmbunătățirile suportului Tracepoint.
    • Procesare îmbunătățire înregistrare (salvați / restabiliți jurnalul de execuție, hardware-ul
    • )
    • suport pentru postul de vizionare)
    • Îmbunătățirile protocolului la distanță (depanare kernel Linux, pachete noi
    • )
    • pentru suportul tracepțional)

    Software similare

    MBW
    MBW

    18 Feb 15

    Frosted
    Frosted

    17 Feb 15

    scanmem
    scanmem

    2 Jun 15

    Alte software-uri de dezvoltator Stan Shebs

    Xconq
    Xconq

    2 Jun 15

    Comentarii la GDB

    Comentariile nu a fost găsit
    Adauga comentarii
    Porniţi pe imagini!