blob: 12d7cce91dff8174c9aa7d101e69e0cf09b0c740 [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)
philippe3bcd51d2013-06-12 21:45:39 +000050 [min(max(current 'ulimit' value,1MB),16MB)]
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.
sewardj8b6573d2012-12-05 22:15:14 +000064 --extra-debuginfo-path=path absolute path to search for additional
65 debug symbols, in addition to existing default
66 well known search paths.
sewardje5b6cc42013-07-02 20:47:24 +000067 --debuginfo-server=ipaddr:port also query this server
68 (valgrind-di-server) for debug symbols
69 --allow-mismatched-debuginfo=no|yes [no]
70 for the above two flags only, accept debuginfo
71 objects that don't "match" the main object
sewardj6dbcc632011-06-07 21:39:28 +000072 --smc-check=none|stack|all|all-non-file [stack]
73 checks for self-modifying code: none, only for
74 code found in stacks, for all code, or for all
75 code except that from file-backed mappings
njn97db7612009-08-04 02:32:55 +000076 --read-var-info=yes|no read debug info on stack and global variables
77 and use it to print better error messages in
78 tools that make use of it (Memcheck, Helgrind,
bartf6122a02010-03-27 07:38:39 +000079 DRD) [no]
sewardj3b290482011-05-06 21:02:55 +000080 --vgdb-poll=<number> gdbserver poll max every <number> basic blocks [5000]
81 --vgdb-shadow-registers=no|yes let gdb see the shadow registers [no]
82 --vgdb-prefix=<prefix> prefix for vgdb FIFOs [/tmp/vgdb-pipe]
njn97db7612009-08-04 02:32:55 +000083 --run-libc-freeres=no|yes free up glibc memory at exit on Linux? [yes]
84 --sim-hints=hint1,hint2,... known hints:
sewardjcc3de2d2011-08-18 15:08:20 +000085 lax-ioctls, enable-outer, fuse-compatible [none]
bart78bfc712011-12-08 16:14:59 +000086 --fair-sched=no|yes|try schedule threads fairly on multicore systems [no]
njn97db7612009-08-04 02:32:55 +000087 --kernel-variant=variant1,variant2,... known variants: bproc [none]
88 handle non-standard kernel variants
philippe46207652013-01-20 17:11:58 +000089 --merge-recursive-frames=<number> merge frames between identical
90 program counters in max <number> frames) [0]
philippe8e1bee42013-10-18 00:08:20 +000091 --num-transtab-sectors=<number> size of translated code cache [16]
sewardja11ec172013-10-18 11:18:45 +000092 more sectors may increase performance, but use more memory.
njn97db7612009-08-04 02:32:55 +000093 --show-emwarns=no|yes show warnings about emulation limits? [no]
sewardjf9ebc392010-05-09 22:30:43 +000094 --require-text-symbol=:sonamepattern:symbolpattern abort run if the
95 stated shared object doesn't have the stated
96 text symbol. Patterns can contain ? and *.
philippe1e470b52012-05-11 19:33:46 +000097 --soname-synonyms=syn1=pattern1,syn2=pattern2,... synonym soname
sewardj260c6482012-08-07 14:46:34 +000098 specify patterns for function wrapping or replacement.
99 To use a non-libc malloc library that is
100 in the main exe: --soname-synonyms=somalloc=NONE
101 in libxyzzy.so: --soname-synonyms=somalloc=libxyzzy.so
sewardjc30cd9b2012-12-06 18:08:54 +0000102 --sigill-diagnostics=yes|no warn about illegal instructions? [yes]
njn97db7612009-08-04 02:32:55 +0000103
nethercotef4928da2004-06-15 10:54:40 +0000104 user options for Nulgrind:
105 (none)
106
107 Extra options read from ~/.valgrindrc, $VALGRIND_OPTS, ./.valgrindrc
108
sewardj33722a62012-08-05 16:10:55 +0000109 Nulgrind is Copyright (C) 2002-2012, and GNU GPL'd, by Nicholas Nethercote.
110 Valgrind is Copyright (C) 2000-2012, and GNU GPL'd, by Julian Seward et al.
111 LibVEX is Copyright (C) 2004-2012, and GNU GPL'd, by OpenWorks LLP et al.
nethercotef4928da2004-06-15 10:54:40 +0000112
njn10b9aea2009-07-14 06:55:05 +0000113 Bug reports, feedback, admiration, abuse, etc, to: www.valgrind.org.
nethercotef4928da2004-06-15 10:54:40 +0000114