1 usage: valgrind [options] prog-and-args
3 tool-selection option, with default in [ ]:
4 --tool=<name> use the Valgrind tool named <name> [memcheck]
6 basic user options for all Valgrind tools, with defaults in [ ]:
7 -h --help show this message
8 --help-debug show this message, plus debugging options
10 -q --quiet run silently; only print error msgs
11 -v --verbose be more verbose -- show misc extra info
12 --trace-children=no|yes Valgrind-ise child processes (follow execve)? [no]
13 --trace-children-skip=patt1,patt2,... specifies a list of executables
14 that --trace-children=yes should not trace into
15 --child-silent-after-fork=no|yes omit child output between fork & exec? [no]
16 --track-fds=no|yes track open file descriptors? [no]
17 --time-stamp=no|yes add timestamps to log messages? [no]
18 --log-fd=<number> log messages to file descriptor [2=stderr]
19 --log-file=<file> log messages to <file>
20 --log-socket=ipaddr:port log messages to socket ipaddr:port
22 user options for Valgrind tools that report errors:
23 --xml=yes emit error output in XML (some tools only)
24 --xml-fd=<number> XML output to file descriptor
25 --xml-file=<file> XML output to <file>
26 --xml-socket=ipaddr:port XML output to socket ipaddr:port
27 --xml-user-comment=STR copy STR verbatim into XML output
28 --demangle=no|yes automatically demangle C++ names? [yes]
29 --num-callers=<number> show <number> callers in stack traces [12]
30 --error-limit=no|yes stop showing new errors if too many? [yes]
31 --error-exitcode=<number> exit code to return if errors found [0=disable]
32 --show-below-main=no|yes continue stack traces below main() [no]
33 --suppressions=<filename> suppress errors described in <filename>
34 --gen-suppressions=no|yes|all print suppressions for errors? [no]
35 --db-attach=no|yes start debugger when errors detected? [no]
36 --db-command=<command> command to start debugger [... -nw %f %p]
37 --input-fd=<number> file descriptor for input [0=stdin]
38 --dsymutil=no|yes run dsymutil on Mac OS X when helpful? [no]
39 --max-stackframe=<number> assume stack switch for SP changes larger
40 than <number> bytes [2000000]
41 --main-stacksize=<number> set size of main thread's stack (in bytes)
42 [use current 'ulimit' value]
44 user options for Valgrind tools that replace malloc:
45 --alignment=<number> set minimum alignment of heap allocations [...]
47 uncommon user options for all Valgrind tools:
48 --smc-check=none|stack|all checks for self-modifying code: none,
49 only for code found in stacks, or all [stack]
50 --read-var-info=yes|no read debug info on stack and global variables
51 and use it to print better error messages in
52 tools that make use of it (Memcheck, Helgrind,
54 --run-libc-freeres=no|yes free up glibc memory at exit on Linux? [yes]
55 --sim-hints=hint1,hint2,... known hints:
56 lax-ioctls, enable-outer [none]
57 --kernel-variant=variant1,variant2,... known variants: bproc [none]
58 handle non-standard kernel variants
59 --show-emwarns=no|yes show warnings about emulation limits? [no]
60 --require-text-symbol=:sonamepattern:symbolpattern abort run if the
61 stated shared object doesn't have the stated
62 text symbol. Patterns can contain ? and *.
64 user options for Nulgrind:
67 debugging options for all Valgrind tools:
68 --stats=no|yes show tool and core statistics [no]
69 -d show verbose debugging output
70 --sanity-level=<number> level of sanity checking to do [1]
71 --trace-flags=<XXXXXXXX> show generated code? (X = 0|1) [00000000]
72 --profile-flags=<XXXXXXXX> ditto, but for profiling (X = 0|1) [00000000]
73 --trace-notbelow=<number> only show BBs above <number> [999999999]
74 --trace-syscalls=no|yes show all system calls? [no]
75 --trace-signals=no|yes show signal handling details? [no]
76 --trace-symtab=no|yes show symbol table details? [no]
77 --trace-symtab-patt=<patt> limit debuginfo tracing to obj name <patt>
78 --trace-cfi=no|yes show call-frame-info details? [no]
79 --debug-dump=syms mimic /usr/bin/readelf --syms
80 --debug-dump=line mimic /usr/bin/readelf --debug-dump=line
81 --debug-dump=frames mimic /usr/bin/readelf --debug-dump=frames
82 --trace-redir=no|yes show redirection details? [no]
83 --trace-sched=no|yes show thread scheduler details? [no]
84 --profile-heap=no|yes profile Valgrind's own space use
85 --wait-for-gdb=yes|no pause on startup to wait for gdb attach
86 --sym-offsets=yes|no show syms in form 'name+offset' ? [no]
87 --command-line-only=no|yes only use command line options [no]
89 Vex options for all Valgrind tools:
90 --vex-iropt-verbosity=<0..9> [0]
91 --vex-iropt-level=<0..2> [2]
92 --vex-iropt-precise-memory-exns=no|yes [no]
93 --vex-iropt-unroll-thresh=<0..400> [120]
94 --vex-guest-max-insns=<1..100> [50]
95 --vex-guest-chase-thresh=<0..99> [10]
96 --vex-guest-chase-cond=no|yes [no]
97 --trace-flags and --profile-flags values (omit the middle space):
98 1000 0000 show conversion into IR
99 0100 0000 show after initial opt
100 0010 0000 show after instrumentation
101 0001 0000 show after second opt
102 0000 1000 show after tree building
103 0000 0100 show selecting insns
104 0000 0010 show after reg-alloc
105 0000 0001 show final assembly
106 (Nb: you need --trace-notbelow with --trace-flags for full details)
108 debugging options for Valgrind tools that report errors
109 --dump-error=<number> show translation for basic block associated
110 with <number>'th error context [0=show none]
112 debugging options for Valgrind tools that replace malloc:
113 --trace-malloc=no|yes show client malloc details? [no]
115 debugging options for Nulgrind:
118 Extra options read from ~/.valgrindrc, $VALGRIND_OPTS, ./.valgrindrc
120 Nulgrind is Copyright (C) 2002-2010, and GNU GPL'd, by Nicholas Nethercote.
121 Valgrind is Copyright (C) 2000-2010, and GNU GPL'd, by Julian Seward et al.
122 LibVEX is Copyright (C) 2004-2010, and GNU GPL'd, by OpenWorks LLP.
124 Bug reports, feedback, admiration, abuse, etc, to: www.valgrind.org.