6. Tools

6.1. GNU Project debugger (GDB)

The GNU Project debugger (normally referred to as GDB) debugs programs written in C, C++, and other languages by executing them in a controlled fashion, and then printing out their data.
In Red Hat Enterprise Linux 5.5, GDB has been updated to version 7.0.1. For a detailed listing of changes refer to the GDB section of the Technical Notes.
Enhanced C++ support

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.

Wide and multi-byte character support

GDB now has support for wide and multi-byte characters on the target.

Independent thread debugging

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

SystemTap is a tracing and probing tool that allows users to study and monitor the activities of the operating system (particularly, the kernel) in fine detail. It provides information similar to the output of tools like netstat, ps, top, and iostat; however, SystemTap is designed to provide more filtering and analysis options for collected information.
New Kernel Tracepoints

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

A list of tracepoints available in the kernel can be obtained with:
stap -L 'kernel.trace("*")'|sort

Unprivileged mode

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

Unprivileged mode is considered a Technology Preview in the Red Hat Enterprise Linux 5.5. The stap-server facility on which it relies is undergoing work for security improvements and should be deployed with care on a trustworthy network.
C++ Probing

The C++ program probing improvements also allows better probing of user-space programs.

6.3. Valgrind

Valgrind is used to monitor memory read, write, and allocation operations. The valgrind tool is frequently used by developers to diagnose and debug memory management problems.
Valgrind has been updated to version 3.5.0, providing enhanced support for a wide range of system architectures. This update introduces many improvements to performance, scalability and usability of the Valgrind. Notably, the usability and scalability of the Helgrind tool — which is used to detect race contiditions — has been improved. The leak checking capabilities of the Memcheck tool are also improved. Additionally, support for DWARF debugging information has been enhanced.
Red Hat logoGithubRedditYoutubeTwitter

Learn

Try, buy, & sell

Communities

About Red Hat Documentation

We help Red Hat users innovate and achieve their goals with our products and services with content they can trust.

Making open source more inclusive

Red Hat is committed to replacing problematic language in our code, documentation, and web properties. For more details, see the Red Hat Blog.

About Red Hat

We deliver hardened solutions that make it easier for enterprises to work across platforms and environments, from the core datacenter to the network edge.

© 2024 Red Hat, Inc.