12.2. Using Valgrind

download PDF
To run any of the Valgrind tools on a program you want to profile, type the following at a shell prompt:
scl enable devtoolset-4 'valgrind [--tool=tool] program [argument...]'
See Table 12.1, “Tools Distributed with Valgrind for Red Hat Developer Toolset” for a list of tools that are distributed with Valgrind. The argument of the --tool command line option must be specified in lower case, and if this option is omitted, Valgrind uses Memcheck by default. For example, to run Cachegrind on a program to identify the sources of cache misses, type:
scl enable devtoolset-4 'valgrind --tool=cachegrind program [argument...]'
Note that you can execute any command using the scl utility, causing it to be run with the Red Hat Developer Toolset binaries used in preference to the Red Hat Enterprise Linux system equivalent. This allows you to run a shell session with Red Hat Developer Toolset Valgrind as default:
scl enable devtoolset-4 'bash'


Red Hat Developer Toolset 4.0 as well as Red Hat Enterprise Linux 7.0 and 7.1 support only the Open MPI application binary interface (ABI) version 1.6, whereas Red Hat Enterprise Linux 7.2 supports Open MPI 1.10. The two versions are binary incompatible. As a consequence, programs that are built against Open MPI 1.10 cannot be run under Valgrind included in Red Hat Developer Toolset. To work around this problem, use the Red Hat Enterprise Linux 7.2 version of Valgrind for programs linked against Open MPI version 1.10.


To verify the version of Valgrind you are using at any point, type the following at a shell prompt:
which valgrind
Red Hat Developer Toolset's valgrind executable path will begin with /opt. Alternatively, you can use the following command to confirm that the version number matches that for Red Hat Developer Toolset Valgrind:
valgrind --version
Red Hat logoGithubRedditYoutubeTwitter


Try, buy, & sell


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.