GDB

Screenshot Software:
GDB
Mga detalye ng Software:
Bersyon: 8.1.1 Na-update
I-upload ang petsa: 16 Aug 18
Nag-develop: Stan Shebs
Lisensya: Libre
Katanyagan: 181

Rating: 3.5/5 (Total Votes: 2)

Ang GDB (kilala rin bilang debugger ng GNU Project) ay isang open source at libreng command-line software na nagpapahintulot sa mga user at developer na magkamukha upang makita kung ano ang nangyayari sa `loob 'ng isa pang programa, habang ito ay naisakatuparan, o kung bakit ang isang application ay pag-crash sa isang tiyak na punto.


Mga tampok sa isang sulyap
Kasama sa mga pangunahing tampok ang apat na iba't ibang mga diskarte upang tulungan ang mga developer na mahuli ang mga bug sa pagkilos, magsimula ng isang application at tukuyin ang anumang bagay na maaaring makaapekto sa pag-uugali nito, gumawa ng programa na huminto sa tinukoy na mga kondisyon, suriin ang mga log kapag nag-crash ang application, dahan-dahang baguhin ang mga bagay sa isang programa upang mag-eksperimento sa pagwawasto ng mga epekto ng isang isyu, at magpatuloy sa pamamagitan ng pag-aaral tungkol sa isa pang bug. Sinusuportahan din nito ang pag-debug ng mga program na nakasulat sa isang malawak na hanay ng mga programming language, kabilang ang C, C ++, Pascal , Ada, Objective-C, at marami pang iba.

Ito ay isang command-line na aplikasyon

Ang debugger ng GNU Project ay palaging magiging command-line application. Upang gamitin ito, dapat mong patakbuhin ang & ldquo; gdb & rdquo; utos sa terminal emulator, pagkatapos ay magsagawa ng & ldquo; tulong & rdquo; command (walang quotes) isang gdb prompt. Bilang karagdagan, maaari mo ring i-type ang & ldquo; tumulong sa lahat & rdquo; utos upang tingnan ang isang listahan ng lahat ng mga utos, i-type ang "tulong" na sinusundan ng command name upang tingnan ang kumpletong dokumentasyon, i-type ang "tulong" na sinusundan ng isang pangalan ng klase upang tingnan ang isang listahan ng mga utos sa klase na iyon, i-type ang "apropos word" para sa mga utos na may kaugnayan sa "salita."


Listahan ng mga klase ng mga utos

Pagkatapos mag-type ng & ldquo; tulong & rdquo; Ang utos na inilarawan sa itaas, makikita mo ang isang listahan ng mga klase ng mga utos, kabilang ang mga alias (nagpapakita ng mga alias ng iba pang mga utos), breakpoints (gumagawa ng programa na huminto sa ilang mga punto), data (para sa pagsusuri ng data), mga file (para sa pagsusuri ng mga file) , pagpapatakbo (para sa pagpapatakbo ng programa), stack (para sa pagsusuri ng stack), kalagayan (para sa mga pagtatanong sa katayuan), suporta (para sa mga pasilidad ng suporta), tracepoints (para sa pagpapatupad ng pagpapatupad ng programa nang walang pagtigil sa programa) at tinukoy ng user (tinukoy ng user na mga utos).

Mga sinusuportahang platform ng hardware at Mga OS

Ang GDB ay dinisenyo mula sa offset upang maging isang application ng cross-platform, na tumatakbo sa mga pangunahing operating system tulad ng Microsoft Windows at ilan sa mga pinakasikat na variant ng Linux / UNIX. Ito ay suportado sa parehong 32-bit at 64-bit na mga platform ng hardware.

Ano ang bagong sa paglabas na ito:

  • PR gdb / 22824 (nakakalito paglalarawan ng bagong pag-andar ng Python sa GDB 8.1 BALITA file)
  • PR gdb / 22849 (ctrl-c ay hindi gumagana sa extended-remote)
  • PR gdb / 22907 ([Regression] gdbserver ay hindi gumagana sa binary ng filename lamang)
  • PR gdb / 23028 (hindi pantay-pantay na disassemble ng vcvtpd2dq)
  • PR gdb / 23053 (Fix -D_GLIBCXX_DEBUG gdb-add-index regression)
  • PR gdb / 23127 ([AArch64] Hindi maaaring gamitin ang GDB para sa pag-debug ng software na gumagamit ng mataas na Virtual Addresses)
  • PR server / 23158 (gdbserver hindi na gumagana sa Windows)
  • breakpoints ng PR / 23210 ([8.1 / 8.2 pagbabalik-tanaw] Bogus Breakpoint address nababagay mula sa 0xf7fe7dd3 hanggang 0xfffffffff7fe7dd3)

Ano ang bago sa bersyon 8.1:

  • Ang mga breakpoint sa mga function ng C + ay naitakda na ngayon sa lahat ng mga saklaw bilang default (& quot; wild & quot; matching);
  • Suporta para sa pagpasok ng mga breakpoint sa mga function na minarkahan ng mga tag ng C + + ABI;
  • Target na floating-point aritmetika na pamamaraang sa panahon ng pagsusuri sa pagsusuri (nangangailangan ng MPFR 3.1 o mas bago);
  • Iba't ibang mga pagpapahusay sa Pag-uusap ng Python;
  • Pinahusay na suporta sa Rust; sa partikular, ang mga bagay na Trait ay maaari na ngayong pag-usisa kapag nag-debug sa code ng Rust;
  • Hindi na gumagawa ng mga pagpapalagay ang GDB tungkol sa uri ng mga simbolo nang walang pag-debug ng impormasyon upang maiwasan ang paggawa ng maling at madalas na nakakalito na mga resulta;
  • Ang mga 'paganahin' at 'huwag paganahin' ang mga utos na ngayon ay tumatanggap ng isang hanay ng mga lokasyon ng breakpoint;
  • Bagong 'starti' na utos upang simulan ang programa sa unang pagtuturo;
  • Bagong command na 'rbreak' upang magsingit ng isang bilang ng mga breakpoint sa pamamagitan ng regular na pattern ng expression (nangangailangan ng Python);
  • Ang command na 'ptype' ngayon ay sumusuporta sa pagpi-print ng offset at laki ng mga patlang sa isang struct;
  • Sinusuportahan na ngayon ng command na 'gcore' ang paglalaglag sa lahat ng mga mappings ng memorya (opsyon na '-a' na command-line);
  • Bagong mga shortcut para sa mode ng TUI Single-Key: 'i' para sa stepi, at 'o' para sa susunod na
  • Mga pagpapahusay ng GDBserver:
  • Suporta para sa pagpapadala ng mga variable sa kapaligiran sa GDBserver;
  • Suporta para sa mga simula ng mas mababa na proseso na may tinukoy na paunang direktoryo sa pagtatrabaho;
  • Sa mga sistema ng Unix, suporta para sa pagpapalawak ng globbing at variable na pagpapalit ng mga alituntunin ng command line na mas mababa;
  • Iba't ibang pagpapahusay ng pagkumpleto;
  • Ang utos na ginamit upang sumulat ng libro at mag-inject ng code gamit ang utos na 'mag-compile' ay maisasaayos na ngayon;
  • Pagpipilian ng command line na bagong '--readnever' upang mapabilis ang GDB startup kapag hindi kinakailangan ang debug ng impormasyon;
  • Suporta para sa mga sumusunod na bagong mga katutubong configuration:
  • FreeBSD / aarch64 (aarch64 * - * - freebsd *);
  • FreeBSD / braso (braso * - * - freebsd *);
  • Suporta para sa mga sumusunod na bagong mga target:
  • FreeBSD / aarch64 (aarch64 * - * - freebsd *);
  • FreeBSD / braso (braso * - * - freebsd *);
  • OpenRISC ELF (o1k * - * - ELF)
  • Inalis ang suporta para sa mga sumusunod na target at mga katutubong configuration:
  • Solaris2 / x86 (i? 86 - * - solaris2. [0-9]);
  • Solaris2 / sparc (sparc * - * - solaris2. [0-9]);

Ano ang bagong sa bersyon:

  • Ang pagtatayo ng bersyon na ito ng GDB ay nangangailangan ng mga sumusunod na tool:
  • Isang C ++ - 11 compiler (halimbawa, GCC 4.8 o mas bago);
  • Gumawa ng bersyon ng GNU 3.81 o mas bago.
  • Ang mga pagbabago sa paglabas na ito ay kinabibilangan ng:
  • C ++: Suporta para sa mga sanggunian ng rvalue
  • Mga pagpapahusay ng script sawa:
  • Bagong mga function upang simulan, itigil at ma-access ang isang tumatakbo na pag-record ng btrace.
  • Suporta ng sanggunian ng Rvalue sa gdb.Type.
  • GDB command interpreter:
  • Ang mga utos ng gumagamit ay tumatanggap na ngayon ng walang limitasyong bilang ng mga argumento.
  • Ang & quot; eval & quot; Ang command na ngayon ay nagpapalawak ng mga argumento na tinukoy ng gumagamit.
  • DWARF version 5 support
  • (tandaan na ang index na .debug_names ay hindi pa suportado).
  • Mga pagpapahusay ng GDB / MI:
  • Bagong -file-list-shared-commands command upang ilista ang nakabahaging mga aklatan sa programa.
  • Bagong -target-flash-erase command, upang burahin ang flash memory.
  • Suporta para sa katutubong FreeBSD / mips (mips * - * - freebsd)
  • Suporta para sa mga sumusunod na target:
  • Synopsys ARC (arc * - * - elf32)
  • FreeBSD / mips (mips * - * - freebsd)
  • Sari-saring mga pagpapahusay:
  • Sinusuportahan na ngayon ang pag-redirect ng command-line sa mga host ng MS-Windows.
  • Suporta para sa mga pangalan ng thread sa MS-Windows.
  • Suporta para sa rehistro ng PKU sa GNU / Linux.
  • Suporta para sa mga tukoy na paglalarawan sa sparc32 at sparc64.
  • Bagong utos ng GDB / CLI upang burahin ang flash memory
  • rekord ng rekord / replay ng rdrand at rdseed.
  • Ang suporta para sa mga sumusunod na tampok ay inalis na:
  • Suporta para sa mga programang Java na naipon sa gcj
  • Suporta para sa mga sumusunod na configuration:
  • FreeBSD / alpha (alpha * - * - freebsd *)
  • GNU / kFreeBSD / alpha (alpha * - * - kfreebsd * -gnu)

Ano ang bago sa bersyon 7.9.1:

  • PR build / 18033 (komento ng estilo ng C + gdb / iq2000-tdep.c at gdb / sumulat ng libro / sumulat ng libro - *. c)
  • Ang PR build / 18298 (& quot; sumulat ng libro & quot; command ay hindi makahanap ng tagatala kung ang mga tool ay naka-configure na may triplet sa halip na quadruplet)
  • PR tui / 18311 (Random SEGV kapag nagpapakita ng mga rehistro sa mode ng TUI)
  • PR python / 18299 (pagbubukod kapag nagrerehistro ng isang pretty global na printer sa mode na lapis)
  • PR python / 18066 (argument & quot; word & quot; tila nasira sa Command.complete (text, word))
  • PR pascal / 17815 (Ayusin ang pasyal na pag-uugali para sa mga patlang ng klase na may testcase)
  • PR python / 18285 (ptype expr-with-xmethod causes SEGV)

Ano ang bago sa bersyon 7.9:

  • Mga pagpapahusay ng script sawa.
  • Pinagsama ang source code at iniksyon sa mas mababa.
  • Bagong mga utos, mga pagpipilian, mga variable / convenience options.
  • MIPS SDE support (mips * -sde * -elf *).
  • Mas mahusay na paghawak ng mga signal kapag nag-debug ng mga sinulid na programa.

Ano ang bago sa bersyon 7.8.2:

    -error: resolve_dynamic_struct: Ang Assertion `TYPE_NFIELDS (uri) & gt; 0 'ay nabigo.)
  • PR binutils / 17677 (_bfd_elf_get_synthetic_symtab ay tumatakbo sa O (n ^ 2) pagiging kumplikado)
  • PR gdb / 16215 (SPARC: hindi maaaring kalkulahin ang CFA para sa frame na ito)
  • PR gdb / 17525 (target-async: breakpoint commands na hindi isinasagawa kapag tumatakbo ang programa mula -x script)
  • PR cli / 17828 ([7.8 regression] -batch -ex r breaks terminal)

Ano ang bago sa bersyon 7.8.1:

  • PR python / 17364 (Kailangan ng mas mahusay na mga pangalan ng printer sa bound_registers.py)
  • PR build / 17104 (CFLAGS = & quot; -Wall -Wextra & quot; gdb / confgure --with-babeltrace nabigo)
  • PR gdb / 17345 (babeltrace (1.1.2 at mas bago) ay nagrereklamo tungkol sa data ng ctf na binuo ng GDB)
  • PR build / 17298 (gcore: Hindi makakakuha ng mga registro: Walang ganitong proseso)
  • PR python / 17342 (Ang Xmethod Python ay hindi compatible sa Python 3)
  • PR python / 17355 (Pag-crash sa mga filter ng frame ng Python na may hindi nababasa na arg)
  • PR guile / 17367 (pag-compute ng landas ng guild na mali kapag ang pkg-config na script na ibinigay bilang arg sa --with-guile)
  • PR gdb / 17247 (gdb freezes sa multi threaded app)
  • PR gdb / 17347 (Pagbabalik: Tumigil ang GDB sa pagtakbo na may nakalakip na proseso)
  • PR gdb / 17407 (Pagbabalik para sa pagbabasa ng Linux vDSO)
  • PR server / 17457 (aarch64 / gdbserver: mali ang nagpapakita ng mga lumulutang na registers)
  • PR server / 17487 (state- & gt; dr_control_mirror == 0 bigo assertion sa gdbserver sa Windows)
  • PR gdb / 17472 (na may mga anotasyon, input habang nagsasagawa sa pag-crash ng background readline / gdb)
  • PR gdb / 17471 (pag-uulit ng isang command sa background ay ginagawa itong foreground)
  • PR cli / 17300 (nag-crash sa non-stop mode na may patuloy na -a & (readline_callback_read_char () na walang tagapasa!))
  • PR python / 17372 (python hang kapag nagpapakita ng tulong ())

Ano ang bago sa bersyon 7.8:

  • Mga pagpapahusay ng script sawa.
  • Bagong mga utos, mga pagpipilian, mga variable / convenience options.
  • Remote Protocol at pagpapahusay ng GDBserver.
  • Bagong target configuration (PowerPC64 GNU / Linux little-endian).
  • mga pagpapahusay ng btrace.
  • haba ng variable ng ISO C99 ang mga awtomatikong arrays na suporta.
  • Ang & quot; ihambing-mga seksyon & quot; Gumagana na ngayon ang command sa lahat ng mga target.
  • Ang & quot; target native & quot; kumokonekta ngayon ng command sa katutubong target.

Ano ang bago sa bersyon 7.7:

  • Pinahusay na suporta sa scripting ng Python.
  • Ang ilang mga pagpapabuti ng C +.
  • Bagong mga utos, mga pagpipilian, mga variable / convenience options.
  • Maraming mga bagong command at pagpapahusay ng GDB / MI.
  • Remote Protocol at pagpapahusay ng GDBserver.
  • Mga bagong target na configuration (Nios II, TI MSP430).
  • GDB Windows x64 unwinding data support.
  • Sinusuportahan ng SystemTap SDT ang probes sa AArch64 GNU / Linux.
  • Suporta sa CTF (Karaniwang Trace).
  • Bagong mga script gcore at gdb-add-index.sh.
  • Pinahusay na braso * -linux record / replay support.
  • Inalis ang suporta para sa mga hindi ginagamit na a.out NetBSD at OpenBSD na mga pagsasaayos. Ang mga variant ng ELF ng mga kumpigurasyong ito ay sinusuportahang suportado.
  • Ang & quot; set | show remotebaud & quot; Ang mga utos ay wala na sa pabor ng & quot; show | show serial baud & quot;.

Ano ang bago sa bersyon 7.6.2:

  • break break / 16251 (error sa breakpoint hardware ng AArch64 tinidor)
  • PR gdb / 16303 (GDB 7.6.1 ay hindi gumagana sa binutils 2.24 sa MIPS16 at microMIPS)

Ano ang bagong sa bersyon 7.6.1:

PR tdep / 15420 (Hindi ma-debug ang mga sinulid na programa sa mas bagong bersyon ng x86-solaris - Solaris 10, I-update ang 10 o mas bago)
  • PR remote / 15455 (QTro remote packet broken)
  • PR build / 15476 (Bumuo ng pagkabigo dahil sa hindi kumpleto na uri ng enum sa mga utils.h)
  • PR server / 15594 (suporta sa tls sa 64x32 x86 gdbserver ay hindi pahabain ang address sa 64 bit)
  • PR server / 15075 (dprintf inteferes may & quot; susunod & quot;)
  • PR server / 15434 (ginagamit ng dprintf ang isang kasabay na 'magpatuloy' kahit na sa mode na hindi hihinto)
  • PR tui / 14880 (sa mga layout ng split register, ang mga resulta sa kabiguan ng assertion sa value.c)
  • PR c ++ / 15519 (GDB 7.6 ay 94x na mas mabagal kaysa sa GDB 7.5.1 gamit ang isang partikular na core file)
  • PR gdb / 15837 (GDB ay naka-print na mga halaga ng entry para sa mga lokal na variable)
  • PR gdb / 15415 (gdb ay malulutas ng mga symbolic na link kapag nagpapasa argv [0])
  • PR cli / 15603 (CTRL-C ay hindi na makakagambala ng mas mababa)
  • PR gdb / 15604 (gdbserver socket leak 7.5 regression)
  • Ano ang bago sa bersyon 7.5:

    • Pumunta sa suporta ng wika.
    • Mga bagong target (x32 ABI, microMIPS, Renesas RL78, HP OpenVMS ia64).
    • Higit pang mga pagpapabuti sa pag-script ng Python.
    • Sinusuportahan ng SDT (Static Defined Tracing) ang mga probes ng SystemTap.
    • Mga pagpapabuti ng GDBserver (mga koneksyon sa stdio, pagsusuri ng target na bahagi ng mga kondisyon ng breakpoint, pagpapabuti ng remote na protocol).
    • Iba't ibang mga pagpapabuti (kakayahang huminto kapag ang isang ibinahaging library ay nai-load / diskargado, dynamic na printf, atbp).
    • Reverse debugging sa ARM.
    • Ang binary & quot; gdbtui & quot; ay inabandona at hindi na maitayo. Gamitin ang & quot; gdb-tui & quot; sa halip.

    Ano ang bago sa bersyon 7.4:

    • Ang mga hindi nakaaakit na function at file ay maaari na ngayong lumaktaw kapag sumasailalim sa & quot; laktawan ang function & quot; at & quot; laktawan ang file & quot; utos.
    • Ang mga utos para sa pagtatakda at pagkuha ng maximum na limitasyon sa haba ng isang remote na puntiryang punto ng hardware ng target ay naidagdag.
    • Ang scripting sawa ay lubhang pinabuting.
    • Marami pang ibang mga pagpapabuti, bugfixes, at mga pangkalahatang pagbabago ang ginawa.

    Ano ang bago sa bersyon 7.1:

    • Suporta para sa mga bagong target (kabilang ang isang simulator):
    • Xilinx MicroBlaze
    • Renesas RX
    • Ang mga pangunahing tampok ay:
    • Pag-debug ng maraming programa, na nagpapahintulot sa debugger na kontrolin ang higit sa
    • isang programa sa loob ng parehong sesyon ng GDB.
    • Posisyon ng Independent Executable (PIE) debugging.
    • Nagtatampok din ito ng maraming mga pagpapahusay at pag-aayos ng bug, kabilang ang:
    • Sinusuportahan ang suporta sawa.
    • Mga pagpapabuti ng suporta sa C + (namespace, mga operator ng cast, mga pag-aayos ng bug)
    • Mga pagpapahusay ng suporta sa Tracepoint.
    • Mga pagpapahusay ng Proseso ng Rekord (i-save / ibalik ang log ng pagpapatupad, hardware
    • suporta sa panonood ng watchpoint).
    • Mga pagpapahusay ng remote na protocol (pag-debug ng kernel ng Linux, mga bagong packet
    • )
    • para sa suporta ng tracepoint)

    Katulad na software

    PuDB
    PuDB

    20 Feb 15

    PyChecker
    PyChecker

    11 May 15

    gDEBugger
    gDEBugger

    2 Jun 15

    Iba pang mga software developer ng Stan Shebs

    Xconq
    Xconq

    2 Jun 15

    Mga komento sa GDB

    Mga Komento hindi natagpuan
    Magdagdag ng komento
    I-sa mga imahe!