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 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-7
  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-7-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 SystemTap Beginners Guide, section Installing SystemTap.
  7. To capture kernel dumps, install and configure kdump. Follow the instructions in Kernel Crash Dump Guide, Chapter Installing and Configuring kdump.
  8. Make sure SELinux policies allow the relevant applications to run not only normally, but in the debugging situations, too. See SELinux User’s and Administrator’s Guide, section Fixing Problems.

Additional Resources