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