GDB

Software Screenshot:
GDB
Software Details:
Version: 8.1.1 updated
Upload Date: 16 Aug 18
Developer: Stan Shebs
Distribution Type: Freeware
Downloads: 181

Rating: 3.5/5 (Total Votes: 2)

GDB (also known as GNU Project debugger) is an open source and free command-line software that allows users and developers alike to see what is going on `inside' another program, while it is executed, or why an application is crashing at a certain point.

Features at a glance

Key features include four different techniques to help developers catch bugs in the act, start an application and specifying anything that might affect its behavior, make a program stop on specified conditions, examine the logs when the application crashed, gradually change things in a program in order to experiment with correcting the effects of one issue, and continue by learning about another bug. It also supports debugging of programs written in a wide range of programming languages, including C, C++, Pascal, Ada, Objective-C, and many others.

It’s a command-line application

GNU Project debugger is an will always be a command-line application. To use it, you must run the “gdb” command in a terminal emulator, then execute the “help” command (without quotes) a the gdb prompt. In addition, you can also type the “help all” command to view a list of all commands, type "help" followed by command name to view the complete documentation, type "help" followed by a class name to view a list of commands in that class, to type "apropos word" to search for commands related to "word."

List of classes of commands

After typing the “help” command as described above, you will see a list of classes of commands, including aliases (displays aliases of other commands), breakpoints (makes the program to stop at certain points), data (for examining data), files (for examining files), internals (maintenance commands), obscure (obscure features), running (for running the program), stack (for examining the stack), status (for status inquiries), support (for support facilities), tracepoints (for tracing program execution without stopping the program) and user-defined (user-defined commands).

Supported hardware platforms and OSes

GDB has been designed from the offset to be a cross-platform application, running on mainstream operating systems like Microsoft Windows and some of the most popular Linux/UNIX variants. It is supported on both 32-bit and 64-bit hardware platforms.

What is new in this release:

  • PR gdb/22824 (misleading description of new rbreak Python function in GDB 8.1 NEWS file)
  • PR gdb/22849 (ctrl-c doesn't work in extended-remote)
  • PR gdb/22907 ([Regression] gdbserver doesn't work with filename-only binaries)
  • PR gdb/23028 (inconsistent disassemble of vcvtpd2dq)
  • PR gdb/23053 (Fix -D_GLIBCXX_DEBUG gdb-add-index regression)
  • PR gdb/23127 ([AArch64] GDB cannot be used for debugging software that uses high Virtual Addresses)
  • PR server/23158 (gdbserver no longer functional on Windows)
  • PR breakpoints/23210 ([8.1/8.2 Regression] Bogus Breakpoint address adjusted from 0xf7fe7dd3 to 0xfffffffff7fe7dd3)

What is new in version 8.1:

  • Breakpoints on C++ functions are now set on all scopes by default ("wild" matching);
  • Support for inserting breakpoints on functions marked with C++ ABI tags;
  • Target floating-point arithmetic emulation during expression evaluation (requires MPFR 3.1 or later);
  • Various Python Scripting enhancements;
  • Improved Rust support; in particular, Trait objects can now be inspected when debugging Rust code;
  • GDB no longer makes assumptions about the type of symbols without debugging information to avoid producing erroneous and often confusing results;
  • The 'enable' and 'disable' commands now accept a range of breakpoint locations;
  • New 'starti' command to start the program at the first instruction;
  • New 'rbreak' command to insert a number of breakpoints via a regular expression pattern (requires Python);
  • The 'ptype' command now supports printing the offset and size of the fields in a struct;
  • The 'gcore' command now supports dumping all the memory mappings ('-a' command-line option);
  • New shortcuts for TUI Single-Key mode: 'i' for stepi, and 'o' for nexti;
  • GDBserver enhancements:
  • Support for transmitting environment variables to GDBserver;
  • Support for starting inferior processes with a specified initial working directory;
  • On Unix systems, support for globbing expansion and variable substitution of inferior command-line arguments;
  • Various completion enhancements;
  • The command used to compile and inject code with the 'compile' command is now configurable;
  • New '--readnever' command-line option to speed the GDB startup when debugging information is not needed;
  • Support for the following new native configurations:
  • FreeBSD/aarch64 (aarch64*-*-freebsd*);
  • FreeBSD/arm (arm*-*-freebsd*);
  • Support for the following new targets:
  • FreeBSD/aarch64 (aarch64*-*-freebsd*);
  • FreeBSD/arm (arm*-*-freebsd*);
  • OpenRISC ELF (or1k*-*-elf)
  • Removed support for the following targets and native configurations:
  • Solaris2/x86 (i?86-*-solaris2.[0-9]);
  • Solaris2/sparc (sparc*-*-solaris2.[0-9]);

What is new in version :

  • Building this version of GDB now requires the following tools:
  • A C++-11 compiler (for instance, GCC 4.8 or later);
  • GNU make version 3.81 or later.
  • Changes in this release include:
  • C++: Support for rvalue references
  • Python scripting enhancements:
  • New functions to start, stop and access a running btrace recording.
  • Rvalue reference support in gdb.Type.
  • GDB commands interpreter:
  • User commands now accept an unlimited number of arguments.
  • The "eval" command now expands user-defined arguments.
  • DWARF version 5 support
  • (note that its .debug_names index is not supported yet).
  • GDB/MI enhancements:
  • New -file-list-shared-libraries command to list the shared libraries in the program.
  • New -target-flash-erase command, to erase flash memory.
  • Support for native FreeBSD/mips (mips*-*-freebsd)
  • Support for the following targets:
  • Synopsys ARC (arc*-*-elf32)
  • FreeBSD/mips (mips*-*-freebsd)
  • Miscellaneous enhancements:
  • Command-line redirection now supported on MS-Windows hosts.
  • Support for thread names on MS-Windows.
  • Support for the PKU register on GNU/Linux.
  • Support for Target descriptions on sparc32 and sparc64.
  • New GDB/CLI command to erase flash memory
  • rdrand and rdseed instructions record/replay support.
  • Support for the following features have been removed:
  • Support for Java programs compiled with gcj
  • Support for the following configurations:
  • FreeBSD/alpha (alpha*-*-freebsd*)
  • GNU/kFreeBSD/alpha (alpha*-*-kfreebsd*-gnu)

What is new in version 7.9.1:

  • PR build/18033 (C++ style comment used in gdb/iq2000-tdep.c and gdb/compile/compile-*.c)
  • PR build/18298 ("compile" command cannot find compiler if tools configured with triplet instead of quadruplet)
  • PR tui/18311 (Random SEGV when displaying registers in TUI mode)
  • PR python/18299 (exception when registering a global pretty-printer in verbose mode)
  • PR python/18066 (argument "word" seems broken in Command.complete (text, word))
  • PR pascal/17815 (Fix pascal behavior for class fields with testcase)
  • PR python/18285 (ptype expr-with-xmethod causes SEGV)

What is new in version 7.9:

  • Python scripting enhancements.
  • Source code compilation and injection into the inferior.
  • New commands, options, convenience variables/options.
  • MIPS SDE support (mips*-sde*-elf*).
  • Better handling of signals when debugging threaded programs.

What is new in version 7.8.2:

  • PR symtab/17642 ([7.8 regression] internal-error: resolve_dynamic_struct: Assertion `TYPE_NFIELDS (type) > 0' failed.)
  • PR binutils/17677 (_bfd_elf_get_synthetic_symtab runs in O(n^2) complexity)
  • PR gdb/16215 (SPARC: can't compute CFA for this frame)
  • PR gdb/17525 (target-async: breakpoint commands not executed when program run from -x script)
  • PR cli/17828 ([7.8 regression] -batch -ex r breaks terminal)

What is new in version 7.8.1:

  • PR python/17364 (Need better printer names in bound_registers.py)
  • PR build/17104 (CFLAGS="-Wall -Wextra" gdb/confgure --with-babeltrace fails)
  • PR gdb/17345 (babeltrace (1.1.2 and later) complains about the ctf data generated by GDB)
  • PR build/17298 (gcore: Couldn't get registers: No such process)
  • PR python/17342 (Xmethod Python is not Python 3 compatible)
  • PR python/17355 (Crash on Python frame filters with unreadable arg)
  • PR guile/17367 (computation of guild path wrong when pkg-config script supplied as arg to --with-guile)
  • PR gdb/17247 (gdb freezes on multi threaded app)
  • PR gdb/17347 (Regression: GDB stopped on run with attached process)
  • PR gdb/17407 (Regression for Linux vDSO reading)
  • PR server/17457 (aarch64/gdbserver: wrong floating point registers display)
  • PR server/17487 (state->dr_control_mirror == 0 failed assertion in gdbserver on Windows)
  • PR gdb/17472 (with annotations, input while executing in the foreground crashes readline/gdb)
  • PR gdb/17471 (repeating a background command makes it foreground)
  • PR cli/17300 (crash in non-stop mode with continue -a & (readline_callback_read_char() called with no handler!))
  • PR python/17372 (python hangs when displaying help())
  • PR python/17408 (../../gdb/infrun.c:5256: internal-error: switch_back_to_stepped_thread: Assertion `!schedlock_applies(1)' failed.)

What is new in version 7.8:

  • Guile scripting support.
  • Python scripting enhancements.
  • New commands, options, convenience variables/options.
  • Remote Protocol and GDBserver enhancements.
  • New target configurations (PowerPC64 GNU/Linux little-endian).
  • btrace enhancements.
  • ISO C99 variable length automatic arrays support.
  • The "compare-sections" command now works on all targets.
  • The "target native" command now connects to the native target.

What is new in version 7.7:

  • Enhanced Python scripting support.
  • Some C++ improvements.
  • New commands, options, convenience variables/options.
  • Several GDB/MI new commands and enhancements.
  • Remote Protocol and GDBserver enhancements.
  • New target configurations (Nios II, TI MSP430).
  • GDB Windows x64 unwinding data support.
  • SystemTap SDT probes support on AArch64 GNU/Linux.
  • CTF (Common Trace Format) support.
  • New scripts gcore and gdb-add-index.sh.
  • Improved arm*-linux record/replay support.
  • Removed support for a.out NetBSD and OpenBSD obsolete configurations. ELF variants of these configurations are kept supported.
  • The "set|show remotebaud" commands are deprecated in favor of "show|show serial baud".

What is new in version 7.6.2:

  • PR breakpoint/16251 (AArch64 hardware breakpoint error after fork)
  • PR gdb/16303 (GDB 7.6.1 does not work with binutils 2.24 on MIPS16 and microMIPS)

What is new in version 7.6.1:

  • PR tdep/15420 (Cannot debug threaded programs on newer versions of x86-solaris - Solaris 10, Update 10 or later)
  • PR remote/15455 (QTro remote packet broken)
  • PR build/15476 (Build failure due to incomplete enum type in utils.h)
  • PR server/15594 (tls support in 64x32 x86 gdbserver doesn't extend address to 64 bit)
  • PR server/15075 (dprintf inteferes with "next")
  • PR server/15434 (dprintf uses a synchronous 'continue' even in non-stop mode)
  • PR tui/14880 (in split register layouts, up results in assertion failure in value.c)
  • PR c++/15519 (GDB 7.6 is 94x slower than GDB 7.5.1 using a certain core file)
  • PR gdb/15837 (GDB prints entry values for local variables)
  • PR gdb/15415 (gdb resolves symbolic links when passing argv[0])
  • PR cli/15603 (CTRL-C can no longer interrupt inferior)
  • PR gdb/15604 (gdbserver socket leak 7.5 regression)

What is new in version 7.5:

  • Go language support.
  • New targets (x32 ABI, microMIPS, Renesas RL78, HP OpenVMS ia64).
  • More Python scripting improvements.
  • SDT (Static Defined Tracing) probes support with SystemTap probes.
  • GDBserver improvements (stdio connections, target-side evaluation of breakpoint conditions, remote protocol improvements).
  • Other miscellaneous improvements (ability to stop when a shared library is loaded/unloaded, dynamic printf, etc).
  • Reverse debugging on ARM.
  • The binary "gdbtui" has been abandoned and can no longer be built. Use "gdb -tui" instead.

What is new in version 7.4:

  • Ambiguous linespecs are now handled more consistently.
  • Uninteresting functions and files can now be skipped when stepping with the "skip function" and "skip file" commands.
  • Commands for setting and getting the maximum length limit of a remote target hardware watchpoint were added.
  • Python scripting was vastly improved.
  • Many other improvements, bugfixes, and general changes were made.

What is new in version 7.1:

  • Support for new targets (including a simulator):
  • Xilinx MicroBlaze
  • Renesas RX
  • The major new features are:
  • Multi-program debugging, allowing the debugger to control more than
  • one program within the same GDB session.
  • Position Independent Executable (PIE) debugging.
  • It also features many enhancements and bug fixes, including:
  • Python support has been extended.
  • C++ support improvements (namespace, cast operators, bug fixes)
  • Tracepoint support improvements.
  • Process Record improvements (save/restore execution log, hardware
  • watchpoint support).
  • Remote protocol enhancements (Linux kernel debugging, new packets
  • for tracepoint support)

Similar Software

YARI
YARI

12 May 15

rpcpdb
rpcpdb

20 Feb 15

WingDBG
WingDBG

20 Feb 15

Other Software of Developer Stan Shebs

Xconq
Xconq

2 Jun 15

Comments to GDB

Comments not found
Add Comment
Turn on images!