blob: 664029c58fb2f6205ed7cff258ff69116b85c448 [file] [log] [blame]
njne43d3ae2003-05-05 13:04:49 +00001
njne43d3ae2003-05-05 13:04:49 +00002Building and not installing it
3~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
njne43d3ae2003-05-05 13:04:49 +00004
njn090dc842005-03-12 16:47:07 +00005To run Valgrind without having to install it, run coregrind/valgrind
6with the VALGRINDLIB environment variable set, where <dir> is the root
7of the source tree (and must be an absolute path). Eg:
8
9 VALGRINDLIB=~/grind/head4/.in_place ~/grind/head4/coregrind/valgrind
njne43d3ae2003-05-05 13:04:49 +000010
11This allows you to compile and run with "make" instead of "make install",
12saving you time.
13
14I recommend compiling with "make --quiet" to further reduce the amount of
15output spewed out during compilation, letting you actually see any errors,
16warnings, etc.
17
18
19Running the regression tests
20~~~~~~~~~~~~~~~~~~~~~~~~~~~~
21To build and run all the regression tests, run "make [--quiet] regtest".
22
23To run a subset of the regression tests, execute:
24
25 perl tests/vg_regtest <name>
26
27where <name> is a directory (all tests within will be run) or a single
28.vgtest test file, or the name of a program which has a like-named .vgtest
29file. Eg:
30
31 perl tests/vg_regtest memcheck
32 perl tests/vg_regtest memcheck/tests/badfree.vgtest
33 perl tests/vg_regtest memcheck/tests/badfree
34
nethercote16b59ee2004-10-09 15:59:05 +000035
36Debugging Valgrind with GDB
37~~~~~~~~~~~~~~~~~~~~~~~~~~~
nethercote4fffabd2004-11-02 09:13:12 +000038To debug stage 1 just run it under GDB in the normal way.
39
40To debug Valgrind proper (stage 2) with GDB, start Valgrind like this:
nethercote16b59ee2004-10-09 15:59:05 +000041
42 valgrind --tool=none --wait-for-gdb=yes <prog>
43
44Then start gdb like this in another terminal:
45
46 gdb /usr/lib/valgrind/stage2 <pid>
47
48Where <pid> is the pid valgrind printed. Then set whatever breakpoints
49you want and do this in gdb:
50
51 jump *$eip
52