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

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.