overhauled low-level syscall/signal and address space layout stuff,
among many other things.
-Josef Weidendorfer wrote Callgrind and the associated KCachegrind GUI.
+Josef Weidendorfer wrote and maintains Callgrind and the associated
+KCachegrind GUI.
Paul Mackerras did a lot of the initial per-architecture factoring
-that forms the basis of the 3.0 line and is also to be seen in 2.4.0.
+that forms the basis of the 3.0 line and was also seen in 2.4.0.
He also did UCode-based dynamic translation support for PowerPC, and
created a set of ppc-linux derivatives of the 2.X release line.
Greg Parker wrote the Mac OS X port.
-Dirk Mueller contributed the malloc-free mismatch checking stuff
-and other bits and pieces, and acted as our KDE liaison.
+Dirk Mueller contributed the malloc/free mismatch checking
+and other bits and pieces, and acts as our KDE liaison.
Robert Walsh added file descriptor leakage checking, new library
interception machinery, support for client allocation pools, and minor
Donna Robinson created and maintains the very excellent
http://www.valgrind.org.
+Vince Weaver wrote and maintains BBV.
+
Frederic Gobry helped with autoconf and automake.
Daniel Berlin modified readelf's dwarf2 source line reader, written by Nick
To install from a tar.bz2 distribution:
- 4. Run ./configure, with some options if you wish. The standard
- options are documented in the INSTALL file. The only interesting
+ 4. Run ./configure, with some options if you wish. The only interesting
one is the usual --prefix=/where/you/want/it/installed.
5. Run "make".
~~~~~~~~~~~~
To run Valgrind under Valgrind:
-(1) Check out 2 trees, "inner" and "outer". "inner" runs the app
- directly and is what you will be profiling. "outer" does the
- profiling.
+(1) Check out 2 trees, "Inner" and "Outer". Inner runs the app
+ directly. Outer runs Inner.
(2) Configure inner with --enable-inner and build/install as
usual.
-(3) Configure outer normally and build/install as usual.
+(3) Configure Outer normally and build/install as usual.
(4) Choose a very simple program (date) and try
outer/.../bin/valgrind --sim-hints=enable-outer --trace-children=yes \
--tool=cachegrind -v inner/.../bin/valgrind --tool=none -v prog
-If you omit the --trace-children=yes, you'll only monitor inner's launcher
+If you omit the --trace-children=yes, you'll only monitor Inner's launcher
program, not its stage2.
The whole thing is fragile, confusing and slow, but it does work well enough
-for you to get some useful performance data. The inner Valgrind has most of
+for you to get some useful performance data. Inner has most of
its output (ie. those lines beginning with "==<pid>==") prefixed with a '>',
which helps a lot.
so Memcheck is not as useful as it could be. It also has not been tested
much, so don't be surprised if you hit problems.
-When using self-hosting with an outer callgrind tool, use '--pop-on-jump'
-(on the outer). Otherwise, callgrind has much higher memory requirements.
+When using self-hosting with an outer Callgrind tool, use '--pop-on-jump'
+(on the outer). Otherwise, Callgrind has much higher memory requirements.
Printing out problematic blocks
-These notes were significantly updated on 6 Dec 2007 for the Valgrind
-3.3.0 release.
-
Greetings, packaging person! This information is aimed at people
building binary distributions of Valgrind.
from valgrind.
--- Don't strip symbols from lib/valgrind/$platform/{cachegrind,
- callgrind,drd,helgrind,lackey,massif,memcheck,none}
- in the installation tree. Doing so will likely cause problems.
- Removing the line number info is probably OK, although that has not
- been tested by the Valgrind developers.
+-- Don't strip symbols from lib/valgrind/* in the installation tree.
+ Doing so will likely cause problems. Removing the line number info is
+ probably OK (at least for some of the files in that directory), although
+ that has not been tested by the Valgrind developers.
-- Please test the final installation works by running it on something
huge. I suggest checking that it can start and exit successfully
- both Firefox-2.0.0.X and OpenOffice.org 2.3.X. I use these as test
- programs, and I know they fairly thoroughly exercise Valgrind. The
- command lines to use are:
+ both Firefox and OpenOffice.org. I use these as test programs, and I
+ know they fairly thoroughly exercise Valgrind. The command lines to use
+ are:
- valgrind -v --trace-children=yes mozilla
+ valgrind -v --trace-children=yes firefox
valgrind -v --trace-children=yes soffice