Chapter 4. Setting up to Debug Applications

Red Hat Enterprise Linux offers multiple debugging and instrumentation tools to analyze and troubleshoot internal application behavior.

  1. Select the Debugging Tools and Desktop Debugging and Performance Tools Add-ons during the system installation to install the GNU Debugger (GDB), Valgrind, SystemTap, ltrace, strace, and other tools.
  2. For the latest versions of GDB, Valgrind, SystemTap, strace, and ltrace, install Red Hat Developer Toolset. This installs memstomp, too.

    # yum install devtoolset-9

    NOTE: Red Hat Developer Toolset is shipped as a Software Collection. The scl utility allows you to use it, running commands with the Red Hat Developer Toolset binaries used in preference to the Red Hat Enterprise Linux system equivalent.

  3. The memstomp utility is available only as a part of Red Hat Developer Toolset. In case installing the whole Developer Toolset is not desirable and memstomp is required, install only its component from Red Hat Developer Toolset.

    # yum install devtoolset-9-memstomp
  4. Install the yum-utils package in order to use the debuginfo-install tool:

    # yum install yum-utils
  5. To debug applications and libraries available as part of Red Hat Enterprise Linux, install their respective debuginfo and source packages from the Red Hat Enterprise Linux repositories using the debuginfo-install tool. This applies to core dump file analysis, too.
  6. Install kernel debuginfo and source packages required by the SystemTap application. See the SystemTap Beginners Guide, Chapter 2.1.1., Installing SystemTap.
  7. To capture kernel dumps, install and configure kdump. Follow the instructions in the Kernel Crash Dump Guide, Chapter 7.2., Installing and Configuring kdump.
  8. Make sure SELinux policies allow the relevant applications to run not only normally but in debugging situations, too. See SELinux User’s and Administrator’s Guide, Section 11.3., Fixing Problems.

Additional Resources