6. Tools
6.1. GNU Project debugger (GDB) Copy linkLink copied to clipboard!
Support for the C++ programming language in GDB has been improved. Notable improvements include:
- Many improvements to expression parsing.
- Better handling of type names.
- The need for extraneous quoting has nearly been eliminated
- "next" and other stepping commands work properly even when the inferior throws an exception.
- GDB has a new "catch syscall" command. This can be used to stop the inferior whenever it makes a system call.
GDB now has support for wide and multi-byte characters on the target.
Thread execution now permits debugging threads individually and independently of each other; enabled by new settings "set target-async" and "set non-stop".
6.2. SystemTap Copy linkLink copied to clipboard!
Tracepoints are placed in important sections of the kernel, allowing system administrators to analyze the performance of, and debug portions of code. In Red Hat Enterprise Linux 5.5, a wide range of tracepoints have been added to the kernel (BZ#475710), including tracepoints for networking (BZ#475457), coredump (BZ#517115) and signal (BZ#517121).
Note
stap -L 'kernel.trace("*")'|sort
stap -L 'kernel.trace("*")'|sort
Previously, only users with root privileges were able to use SystemTap. This update introduces SystemTap's unprivileged mode, allowing non-root users to still use SystemTap. Detailed information on unprivileged man stap-client
manpage.
Important
The C++ program probing improvements also allows better probing of user-space programs.
6.3. Valgrind Copy linkLink copied to clipboard!
Memcheck
tool are also improved. Additionally, support for DWARF debugging information has been enhanced.