blob: e4cb9eb5b67b55f58e43816ef23eeb66f0700947 [file] [log] [blame]
njn00cfcfc2005-11-12 18:53:50 +00001usage: valgrind [options] prog-and-args
nethercotef4928da2004-06-15 10:54:40 +00002
njn97db7612009-08-04 02:32:55 +00003 tool-selection option, with default in [ ]:
sewardjb5f6f512005-03-10 23:59:00 +00004 --tool=<name> use the Valgrind tool named <name> [memcheck]
njn97db7612009-08-04 02:32:55 +00005
6 basic user options for all Valgrind tools, with defaults in [ ]:
nethercotea76368b2004-06-16 11:56:29 +00007 -h --help show this message
nethercotef4928da2004-06-15 10:54:40 +00008 --help-debug show this message, plus debugging options
9 --version show version
10 -q --quiet run silently; only print error msgs
sewardj2d9e8742009-08-07 15:46:56 +000011 -v --verbose be more verbose -- show misc extra info
njn374a36d2007-11-23 01:41:32 +000012 --trace-children=no|yes Valgrind-ise child processes (follow execve)? [no]
sewardj06421272009-11-05 08:55:13 +000013 --trace-children-skip=patt1,patt2,... specifies a list of executables
14 that --trace-children=yes should not trace into
sewardj9ab64a42010-12-06 11:40:04 +000015 --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
njn97db7612009-08-04 02:32:55 +000018 --child-silent-after-fork=no|yes omit child output between fork & exec? [no]
sewardj3b290482011-05-06 21:02:55 +000019 --vgdb=no|yes|full activate gdbserver? [yes]
20 full is slower but provides precise watchpoint/step
sewardj1568e172011-06-18 08:28:04 +000021 --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
nethercote0d588502004-06-21 13:27:11 +000024 --track-fds=no|yes track open file descriptors? [no]
thughes6233a382004-08-21 11:10:44 +000025 --time-stamp=no|yes add timestamps to log messages? [no]
njnce545552005-07-25 22:36:52 +000026 --log-fd=<number> log messages to file descriptor [2=stderr]
njn374a36d2007-11-23 01:41:32 +000027 --log-file=<file> log messages to <file>
njnce545552005-07-25 22:36:52 +000028 --log-socket=ipaddr:port log messages to socket ipaddr:port
nethercotef4928da2004-06-15 10:54:40 +000029
nethercotef4928da2004-06-15 10:54:40 +000030 user options for Valgrind tools that report errors:
sewardj8fd87582009-07-15 14:52:02 +000031 --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
nethercotef4928da2004-06-15 10:54:40 +000036 --demangle=no|yes automatically demangle C++ names? [yes]
njn20b4a152005-10-19 22:39:40 +000037 --num-callers=<number> show <number> callers in stack traces [12]
nethercotef4928da2004-06-15 10:54:40 +000038 --error-limit=no|yes stop showing new errors if too many? [yes]
sewardj365985f2006-05-13 01:54:15 +000039 --error-exitcode=<number> exit code to return if errors found [0=disable]
nethercotef4928da2004-06-15 10:54:40 +000040 --show-below-main=no|yes continue stack traces below main() [no]
41 --suppressions=<filename> suppress errors described in <filename>
sewardj09272c72005-01-11 14:21:02 +000042 --gen-suppressions=no|yes|all print suppressions for errors? [no]
nethercotef4928da2004-06-15 10:54:40 +000043 --db-attach=no|yes start debugger when errors detected? [no]
bart0f212dc2009-08-20 18:38:59 +000044 --db-command=<command> command to start debugger [... -nw %f %p]
nethercotef4928da2004-06-15 10:54:40 +000045 --input-fd=<number> file descriptor for input [0=stdin]
njn97db7612009-08-04 02:32:55 +000046 --dsymutil=no|yes run dsymutil on Mac OS X when helpful? [no]
sewardj412ad6e2005-04-03 00:16:11 +000047 --max-stackframe=<number> assume stack switch for SP changes larger
48 than <number> bytes [2000000]
sewardj95d86c02007-12-18 01:49:23 +000049 --main-stacksize=<number> set size of main thread's stack (in bytes)
50 [use current 'ulimit' value]
nethercotef4928da2004-06-15 10:54:40 +000051
njn97db7612009-08-04 02:32:55 +000052 user options for Valgrind tools that replace malloc:
philipped99c26a2012-07-31 22:17:28 +000053 --alignment=<number> set minimum alignment of heap allocations [not used by this tool]
54 --redzone-size=<number> set minimum size of redzones added before/after
55 heap blocks (in bytes). [not used by this tool]
njn97db7612009-08-04 02:32:55 +000056
57 uncommon user options for all Valgrind tools:
sewardj14cdbf82010-10-12 00:44:05 +000058 --fullpath-after= (with nothing after the '=')
59 show full source paths in call stacks
60 --fullpath-after=string like --fullpath-after=, but only show the
61 part of the path after 'string'. Allows removal
62 of path prefixes. Use this flag multiple times
63 to specify a set of prefixes to remove.
sewardj6dbcc632011-06-07 21:39:28 +000064 --smc-check=none|stack|all|all-non-file [stack]
65 checks for self-modifying code: none, only for
66 code found in stacks, for all code, or for all
67 code except that from file-backed mappings
njn97db7612009-08-04 02:32:55 +000068 --read-var-info=yes|no read debug info on stack and global variables
69 and use it to print better error messages in
70 tools that make use of it (Memcheck, Helgrind,
bartf6122a02010-03-27 07:38:39 +000071 DRD) [no]
sewardj3b290482011-05-06 21:02:55 +000072 --vgdb-poll=<number> gdbserver poll max every <number> basic blocks [5000]
73 --vgdb-shadow-registers=no|yes let gdb see the shadow registers [no]
74 --vgdb-prefix=<prefix> prefix for vgdb FIFOs [/tmp/vgdb-pipe]
njn97db7612009-08-04 02:32:55 +000075 --run-libc-freeres=no|yes free up glibc memory at exit on Linux? [yes]
76 --sim-hints=hint1,hint2,... known hints:
sewardjcc3de2d2011-08-18 15:08:20 +000077 lax-ioctls, enable-outer, fuse-compatible [none]
bart78bfc712011-12-08 16:14:59 +000078 --fair-sched=no|yes|try schedule threads fairly on multicore systems [no]
njn97db7612009-08-04 02:32:55 +000079 --kernel-variant=variant1,variant2,... known variants: bproc [none]
80 handle non-standard kernel variants
81 --show-emwarns=no|yes show warnings about emulation limits? [no]
sewardjf9ebc392010-05-09 22:30:43 +000082 --require-text-symbol=:sonamepattern:symbolpattern abort run if the
83 stated shared object doesn't have the stated
84 text symbol. Patterns can contain ? and *.
philippe1e470b52012-05-11 19:33:46 +000085 --soname-synonyms=syn1=pattern1,syn2=pattern2,... synonym soname
sewardj260c6482012-08-07 14:46:34 +000086 specify patterns for function wrapping or replacement.
87 To use a non-libc malloc library that is
88 in the main exe: --soname-synonyms=somalloc=NONE
89 in libxyzzy.so: --soname-synonyms=somalloc=libxyzzy.so
njn97db7612009-08-04 02:32:55 +000090
nethercotef4928da2004-06-15 10:54:40 +000091 user options for Nulgrind:
92 (none)
93
94 Extra options read from ~/.valgrindrc, $VALGRIND_OPTS, ./.valgrindrc
95
sewardj33722a62012-08-05 16:10:55 +000096 Nulgrind is Copyright (C) 2002-2012, and GNU GPL'd, by Nicholas Nethercote.
97 Valgrind is Copyright (C) 2000-2012, and GNU GPL'd, by Julian Seward et al.
98 LibVEX is Copyright (C) 2004-2012, and GNU GPL'd, by OpenWorks LLP et al.
nethercotef4928da2004-06-15 10:54:40 +000099
njn10b9aea2009-07-14 06:55:05 +0000100 Bug reports, feedback, admiration, abuse, etc, to: www.valgrind.org.
nethercotef4928da2004-06-15 10:54:40 +0000101