1ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brownusage: valgrind [options] prog-and-args
2ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
3ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  tool-selection option, with default in [ ]:
4ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown    --tool=<name>             use the Valgrind tool named <name> [memcheck]
5ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
6ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  basic user options for all Valgrind tools, with defaults in [ ]:
7ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown    -h --help                 show this message
8ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown    --help-debug              show this message, plus debugging options
9ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown    --version                 show version
10ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown    -q --quiet                run silently; only print error msgs
11ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown    -v --verbose              be more verbose -- show misc extra info
12ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown    --trace-children=no|yes   Valgrind-ise child processes (follow execve)? [no]
13ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown    --trace-children-skip=patt1,patt2,...    specifies a list of executables
14ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown                              that --trace-children=yes should not trace into
15b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov    --trace-children-skip-by-arg=patt1,patt2,...   same as --trace-children-skip=
16b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov                              but check the argv[] entries for children, rather
17b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov                              than the exe name, to make a follow/no-follow decision
18ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown    --child-silent-after-fork=no|yes omit child output between fork & exec? [no]
19b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov    --vgdb=no|yes|full        activate gdbserver? [yes]
20b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov                              full is slower but provides precise watchpoint/step
21b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov    --vgdb-error=<number>     invoke gdbserver after <number> errors [999999999]
22b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov                              to get started quickly, use --vgdb-error=0
23b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov                              and follow the on-screen directions
24ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown    --track-fds=no|yes        track open file descriptors? [no]
25ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown    --time-stamp=no|yes       add timestamps to log messages? [no]
26ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown    --log-fd=<number>         log messages to file descriptor [2=stderr]
27ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown    --log-file=<file>         log messages to <file>
28ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown    --log-socket=ipaddr:port  log messages to socket ipaddr:port
29ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
30ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  user options for Valgrind tools that report errors:
31ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown    --xml=yes                 emit error output in XML (some tools only)
32ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown    --xml-fd=<number>         XML output to file descriptor
33ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown    --xml-file=<file>         XML output to <file>
34ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown    --xml-socket=ipaddr:port  XML output to socket ipaddr:port
35ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown    --xml-user-comment=STR    copy STR verbatim into XML output
36ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown    --demangle=no|yes         automatically demangle C++ names? [yes]
37ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown    --num-callers=<number>    show <number> callers in stack traces [12]
38ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown    --error-limit=no|yes      stop showing new errors if too many? [yes]
39ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown    --error-exitcode=<number> exit code to return if errors found [0=disable]
40ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown    --show-below-main=no|yes  continue stack traces below main() [no]
41ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown    --suppressions=<filename> suppress errors described in <filename>
42ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown    --gen-suppressions=no|yes|all    print suppressions for errors? [no]
43ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown    --db-attach=no|yes        start debugger when errors detected? [no]
44ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown    --db-command=<command>    command to start debugger [... -nw %f %p]
45ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown    --input-fd=<number>       file descriptor for input [0=stdin]
46ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown    --dsymutil=no|yes         run dsymutil on Mac OS X when helpful? [no]
47ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown    --max-stackframe=<number> assume stack switch for SP changes larger
48ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown                              than <number> bytes [2000000]
49ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown    --main-stacksize=<number> set size of main thread's stack (in bytes)
50ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown                              [use current 'ulimit' value]
51ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
52ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  user options for Valgrind tools that replace malloc:
53ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown    --alignment=<number>      set minimum alignment of heap allocations [...]
54ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
55ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  uncommon user options for all Valgrind tools:
56ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown    --fullpath-after=         (with nothing after the '=')
57ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown                              show full source paths in call stacks
58ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown    --fullpath-after=string   like --fullpath-after=, but only show the
59ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown                              part of the path after 'string'.  Allows removal
60ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown                              of path prefixes.  Use this flag multiple times
61ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown                              to specify a set of prefixes to remove.
62b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov    --smc-check=none|stack|all|all-non-file [stack]
63b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov                              checks for self-modifying code: none, only for
64b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov                              code found in stacks, for all code, or for all
65b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov                              code except that from file-backed mappings
66ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown    --read-var-info=yes|no    read debug info on stack and global variables
67ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown                              and use it to print better error messages in
68ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown                              tools that make use of it (Memcheck, Helgrind,
69ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown                              DRD) [no]
70b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov    --vgdb-poll=<number>      gdbserver poll max every <number> basic blocks [5000]
71b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov    --vgdb-shadow-registers=no|yes   let gdb see the shadow registers [no]
72b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov    --vgdb-prefix=<prefix>    prefix for vgdb FIFOs [/tmp/vgdb-pipe]
73ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown    --run-libc-freeres=no|yes free up glibc memory at exit on Linux? [yes]
74ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown    --sim-hints=hint1,hint2,...  known hints:
75b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov                                 lax-ioctls, enable-outer, fuse-compatible [none]
76ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown    --kernel-variant=variant1,variant2,...  known variants: bproc [none]
77ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown                              handle non-standard kernel variants
78ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown    --show-emwarns=no|yes     show warnings about emulation limits? [no]
79ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown    --require-text-symbol=:sonamepattern:symbolpattern    abort run if the
80ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown                              stated shared object doesn't have the stated
81ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown                              text symbol.  Patterns can contain ? and *.
82ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
83ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  user options for Nulgrind:
84ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown    (none)
85ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
86ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  Extra options read from ~/.valgrindrc, $VALGRIND_OPTS, ./.valgrindrc
87ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
88b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov  Nulgrind is Copyright (C) 2002-2011, and GNU GPL'd, by Nicholas Nethercote.
89b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov  Valgrind is Copyright (C) 2000-2011, and GNU GPL'd, by Julian Seward et al.
90b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov  LibVEX is Copyright (C) 2004-2011, and GNU GPL'd, by OpenWorks LLP et al.
91ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
92ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  Bug reports, feedback, admiration, abuse, etc, to: www.valgrind.org.
93ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
94