1usage: valgrind [options] prog-and-args
2
3  tool-selection option, with default in [ ]:
4    --tool=<name>             use the Valgrind tool named <name> [memcheck]
5
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
9    --version                 show version
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    --trace-children-skip-by-arg=patt1,patt2,...   same as --trace-children-skip=
16                              but check the argv[] entries for children, rather
17                              than the exe name, to make a follow/no-follow decision
18    --child-silent-after-fork=no|yes omit child output between fork & exec? [no]
19    --vgdb=no|yes|full        activate gdbserver? [yes]
20                              full is slower but provides precise watchpoint/step
21    --vgdb-error=<number>     invoke gdbserver after <number> errors [999999999]
22                              to get started quickly, use --vgdb-error=0
23                              and follow the on-screen directions
24    --track-fds=no|yes        track open file descriptors? [no]
25    --time-stamp=no|yes       add timestamps to log messages? [no]
26    --log-fd=<number>         log messages to file descriptor [2=stderr]
27    --log-file=<file>         log messages to <file>
28    --log-socket=ipaddr:port  log messages to socket ipaddr:port
29
30  user options for Valgrind tools that report errors:
31    --xml=yes                 emit error output in XML (some tools only)
32    --xml-fd=<number>         XML output to file descriptor
33    --xml-file=<file>         XML output to <file>
34    --xml-socket=ipaddr:port  XML output to socket ipaddr:port
35    --xml-user-comment=STR    copy STR verbatim into XML output
36    --demangle=no|yes         automatically demangle C++ names? [yes]
37    --num-callers=<number>    show <number> callers in stack traces [12]
38    --error-limit=no|yes      stop showing new errors if too many? [yes]
39    --error-exitcode=<number> exit code to return if errors found [0=disable]
40    --show-below-main=no|yes  continue stack traces below main() [no]
41    --suppressions=<filename> suppress errors described in <filename>
42    --gen-suppressions=no|yes|all    print suppressions for errors? [no]
43    --db-attach=no|yes        start debugger when errors detected? [no]
44    --db-command=<command>    command to start debugger [... -nw %f %p]
45    --input-fd=<number>       file descriptor for input [0=stdin]
46    --dsymutil=no|yes         run dsymutil on Mac OS X when helpful? [no]
47    --max-stackframe=<number> assume stack switch for SP changes larger
48                              than <number> bytes [2000000]
49    --main-stacksize=<number> set size of main thread's stack (in bytes)
50                              [use current 'ulimit' value]
51
52  user options for Valgrind tools that replace malloc:
53    --alignment=<number>      set minimum alignment of heap allocations [...]
54
55  uncommon user options for all Valgrind tools:
56    --fullpath-after=         (with nothing after the '=')
57                              show full source paths in call stacks
58    --fullpath-after=string   like --fullpath-after=, but only show the
59                              part of the path after 'string'.  Allows removal
60                              of path prefixes.  Use this flag multiple times
61                              to specify a set of prefixes to remove.
62    --smc-check=none|stack|all|all-non-file [stack]
63                              checks for self-modifying code: none, only for
64                              code found in stacks, for all code, or for all
65                              code except that from file-backed mappings
66    --read-var-info=yes|no    read debug info on stack and global variables
67                              and use it to print better error messages in
68                              tools that make use of it (Memcheck, Helgrind,
69                              DRD) [no]
70    --vgdb-poll=<number>      gdbserver poll max every <number> basic blocks [5000]
71    --vgdb-shadow-registers=no|yes   let gdb see the shadow registers [no]
72    --vgdb-prefix=<prefix>    prefix for vgdb FIFOs [/tmp/vgdb-pipe]
73    --run-libc-freeres=no|yes free up glibc memory at exit on Linux? [yes]
74    --sim-hints=hint1,hint2,...  known hints:
75                                 lax-ioctls, enable-outer, fuse-compatible [none]
76    --kernel-variant=variant1,variant2,...  known variants: bproc [none]
77                              handle non-standard kernel variants
78    --show-emwarns=no|yes     show warnings about emulation limits? [no]
79    --require-text-symbol=:sonamepattern:symbolpattern    abort run if the
80                              stated shared object doesn't have the stated
81                              text symbol.  Patterns can contain ? and *.
82
83  user options for Nulgrind:
84    (none)
85
86  debugging options for all Valgrind tools:
87    -d                        show verbose debugging output
88    --stats=no|yes            show tool and core statistics [no]
89    --sanity-level=<number>   level of sanity checking to do [1]
90    --trace-flags=<XXXXXXXX>   show generated code? (X = 0|1) [00000000]
91    --profile-flags=<XXXXXXXX> ditto, but for profiling (X = 0|1) [00000000]
92    --trace-notbelow=<number> only show BBs above <number> [999999999]
93    --trace-syscalls=no|yes   show all system calls? [no]
94    --trace-signals=no|yes    show signal handling details? [no]
95    --trace-symtab=no|yes     show symbol table details? [no]
96    --trace-symtab-patt=<patt> limit debuginfo tracing to obj name <patt>
97    --trace-cfi=no|yes        show call-frame-info details? [no]
98    --debug-dump=syms         mimic /usr/bin/readelf --syms
99    --debug-dump=line         mimic /usr/bin/readelf --debug-dump=line
100    --debug-dump=frames       mimic /usr/bin/readelf --debug-dump=frames
101    --trace-redir=no|yes      show redirection details? [no]
102    --trace-sched=no|yes      show thread scheduler details? [no]
103    --profile-heap=no|yes     profile Valgrind's own space use
104    --wait-for-gdb=yes|no     pause on startup to wait for gdb attach
105    --sym-offsets=yes|no      show syms in form 'name+offset' ? [no]
106    --command-line-only=no|yes  only use command line options [no]
107
108  Vex options for all Valgrind tools:
109    --vex-iropt-verbosity=<0..9>           [0]
110    --vex-iropt-level=<0..2>               [2]
111    --vex-iropt-precise-memory-exns=no|yes [no]
112    --vex-iropt-unroll-thresh=<0..400>     [120]
113    --vex-guest-max-insns=<1..100>         [50]
114    --vex-guest-chase-thresh=<0..99>       [10]
115    --vex-guest-chase-cond=no|yes          [no]
116    --trace-flags and --profile-flags values (omit the middle space):
117       1000 0000   show conversion into IR
118       0100 0000   show after initial opt
119       0010 0000   show after instrumentation
120       0001 0000   show after second opt
121       0000 1000   show after tree building
122       0000 0100   show selecting insns
123       0000 0010   show after reg-alloc
124       0000 0001   show final assembly
125      (Nb: you need --trace-notbelow with --trace-flags for full details)
126
127  debugging options for Valgrind tools that report errors
128    --dump-error=<number>     show translation for basic block associated
129                              with <number>'th error context [0=show none]
130
131  debugging options for Valgrind tools that replace malloc:
132    --trace-malloc=no|yes     show client malloc details? [no]
133
134  debugging options for Nulgrind:
135    (none)
136
137  Extra options read from ~/.valgrindrc, $VALGRIND_OPTS, ./.valgrindrc
138
139  Nulgrind is Copyright (C) 2002-2011, and GNU GPL'd, by Nicholas Nethercote.
140  Valgrind is Copyright (C) 2000-2011, and GNU GPL'd, by Julian Seward et al.
141  LibVEX is Copyright (C) 2004-2011, and GNU GPL'd, by OpenWorks LLP et al.
142
143  Bug reports, feedback, admiration, abuse, etc, to: www.valgrind.org.
144
145