Extra info about debugging with GDB
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6854 a5019735-40e9-0310-863c-91ae7b9d1cf9
diff --git a/README_DEVELOPERS b/README_DEVELOPERS
index 06ed8b0..66fec3d 100644
--- a/README_DEVELOPERS
+++ b/README_DEVELOPERS
@@ -67,13 +67,21 @@
a particular tool) requires a bit more trickery but can be achieved
without too much problem by following these steps:
-(1) Set VALGRIND_LAUNCHER to <prefix>/bin/valgrind:
+(1) Set VALGRIND_LAUNCHER to point to the valgrind executable. Eg:
- export VALGRIND_LAUNCHER=/usr/local/bin/valgrind
+ export VALGRIND_LAUNCHER=/usr/local/bin/valgrind
-(2) Run "gdb <prefix>/lib/valgrind/<platform>/<tool>":
+ or for an uninstalled version in a source directory $DIR:
- gdb /usr/local/lib/valgrind/ppc32-linux/lackey
+ export VALGRIND_LAUNCHER=$DIR/coregrind/valgrind
+
+(2) Run gdb on the tool executable. Eg:
+
+ gdb /usr/local/lib/valgrind/ppc32-linux/lackey
+
+ or
+
+ gdb $DIR/.in_place/x86-linux/memcheck
(3) Do "handle SIGSEGV SIGILL nostop noprint" in GDB to prevent GDB from
stopping on a SIGSEGV or SIGILL:
@@ -90,6 +98,8 @@
(gdb) run pwd
+Steps (1)--(3) can be put in a .gdbinit file, but any directory names must
+be fully expanded (ie. not an environment variable).
Self-hosting
~~~~~~~~~~~~