10.3. GDB

In Red Hat Enterprise Linux 7, the GDB debugger is based on the gdb-7.6.1 release, and includes numerous enhancements and bug fixes relative to the Red Hat Enterprise Linux 6 equivalent.
This version corresponds to GDB in Red Hat Developer Toolset 2.1; a detailed comparison of Red Hat Enterprise Linux 6 and Red Hat Enterprise Linux 7 GDB versions can be seen here:
Notable new features of GDB included in Red Hat Enterprise Linux 7 are the following:
  • Faster loading of symbols using the new .gdb_index section and the new gdb-add-index shell command. Note that this feature is already present in Red Hat Enterprise Linux 6.1 and later;
  • gdbserver now supports standard input/output (STDIO) connections, for example: (gdb) target remote | ssh myhost gdbserver - hello;
  • Improved behavior of the watch command using the -location parameter;
  • Virtual method tables can be displayed by a new command, info vtbl;
  • Control of automatic loading of files by new commands info auto-load, set auto-load, and show auto-load;
  • Displaying absolute path to source file names using the set filename-display absolute command;
  • Control flow recording with hardware support by a new command, record btrace.
Notable bug fixes in GDB included in Red Hat Enterprise Linux 7 are the following:
  • The info proc command has been updated to work on core files;
  • Breakpoints are now set on all matching locations in all inferiors;
  • The file name part of breakpoint location now matches trailing components of a source file name;
  • Breakpoints can now be put on inline functions;
  • Parameters of the template are now put in scope when the template is instantiated.
In addition, Red Hat Enterprise Linux 7 provides a new package, gdb-doc, which contains the GDB Manual in PDF, HTML, and info formats. The GDB Manual was part of the main RPM package in previous versions of Red Hat Enterprise Linux.