%general-entities; ]> $LastChangedBy$ $Date$ Valgrind-&valgrind-version; Valgrind Introduction to Valgrind Valgrind is an instrumentation framework for building dynamic analysis tools. There are Valgrind tools that can automatically detect many memory management and threading bugs, and profile programs in detail. Valgrind can also be used to build new tools. &lfs91_checked; Package Information Download (HTTP): Download (FTP): Download MD5 sum: &valgrind-md5sum; Download size: &valgrind-size; Estimated disk space required: &valgrind-buildsize; Estimated build time: &valgrind-time; Valgrind Dependencies Optional or (for tests), , (for tests), (with Clang), and (for tests) User Notes: Installation of Valgrind Install Valgrind by running the following commands: sed -i 's|/doc/valgrind||' docs/Makefile.in && ./configure --prefix=/usr \ --datadir=/usr/share/doc/valgrind-&valgrind-version; && make To test the results, issue: make regtest. The tests may hang forever if is not installed. Some tests are known to hang also, depending on the version of glibc. Problematic tests can be disabled by changing the prereq: line in the corresponding .vgtest file to prereq: false. For example: sed -e 's@prereq:.*@prereq: false@' \ -i {helgrind,drd}/tests/pth_cond_destroy_busy.vgtest The OpenMP tests are skipped if libgomp has been compiled with (the default). If needed, just recompile the libgomp library from the gcc build tree, passing to configure, storing the library to some place and changing the link from /usr/lib/libgomp.so.1 to point to the new library. Now, as the root user: make install Command Explanations sed -i ... docs/Makefile.in : This sed provides for installing the documentation in a versioned directory. : This option allows building Valgrind with LTO (link time optimization). This produces a smaller/faster Valgrind (up to 10%), but build time increases to about 5.5 SBU. Contents Installed Programs Installed Library Installed Directories callgrind_annotate, callgrind_control, cg_annotate, cg_diff, cg_merge, ms_print, valgrind, valgrind-di-server, valgrind-listener, and vgdb libcoregrind-<Arch>-linux.a, libreplacemalloc_toolpreload-<Arch>-linux.a, libvex-<Arch>-linux.a, libvexmultiarch-amd64-linux.a, vgpreload_core-<Arch>-linux.so, vgpreload_drd-<Arch>-linux.so, vgpreload_exp-dhat-<Arch>-linux.so, vgpreload_exp-sgcheck-<Arch>-linux.so, vgpreload_helgrind-<Arch>-linux.so, vgpreload_massif-<Arch>-linux.so, and vgpreload_memcheck-<Arch>-linux.so, where <Arch> is x86 or amd64 /usr/lib/valgrind, /usr/include/valgrind, and /usr/share/doc/valgrind-&valgrind-version; Short Descriptions valgrind is a program for debugging and profiling Linux executables. valgrind callgrind_annotate takes an output file produced by the Valgrind tool Callgrind and prints the information in an easy-to-read form. callgrind_annotate callgrind_control controls programs being run by the Valgrind tool Callgrind. callgrind_control cg_annotate is a post-processing tool for the Valgrind tool Cachegrind. cg_annotate cg_diff compares two Cachegrind output files. cg_diff cg_merge merges multiple Cachegrind output files into one. cg_merge ms_print takes an output file produced by the Valgrind tool Massif and prints the information in an easy-to-read form. ms_print valgrind-di-server is a server that reads debuginfo from objects stored on a different machine. valgrind-di-server valgrind-listener listens on a socket for Valgrind commentary. valgrind-listener vgdb is an intermediary between Valgrind and GDB or a shell. vgdb