blob: 35cfea1984e1d32eef9a4a572858c96d6325569f [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
philippe180a7502014-04-20 13:41:10 +000024 --vgdb-stop-at=event1,event2,... invoke gdbserver for given events [none]
25 where event is one of startup exit valgrindabexit all none
nethercote0d588502004-06-21 13:27:11 +000026 --track-fds=no|yes track open file descriptors? [no]
thughes6233a382004-08-21 11:10:44 +000027 --time-stamp=no|yes add timestamps to log messages? [no]
njnce545552005-07-25 22:36:52 +000028 --log-fd=<number> log messages to file descriptor [2=stderr]
njn374a36d2007-11-23 01:41:32 +000029 --log-file=<file> log messages to <file>
njnce545552005-07-25 22:36:52 +000030 --log-socket=ipaddr:port log messages to socket ipaddr:port
nethercotef4928da2004-06-15 10:54:40 +000031
nethercotef4928da2004-06-15 10:54:40 +000032 user options for Valgrind tools that report errors:
sewardj8fd87582009-07-15 14:52:02 +000033 --xml=yes emit error output in XML (some tools only)
34 --xml-fd=<number> XML output to file descriptor
35 --xml-file=<file> XML output to <file>
36 --xml-socket=ipaddr:port XML output to socket ipaddr:port
37 --xml-user-comment=STR copy STR verbatim into XML output
nethercotef4928da2004-06-15 10:54:40 +000038 --demangle=no|yes automatically demangle C++ names? [yes]
njn20b4a152005-10-19 22:39:40 +000039 --num-callers=<number> show <number> callers in stack traces [12]
nethercotef4928da2004-06-15 10:54:40 +000040 --error-limit=no|yes stop showing new errors if too many? [yes]
sewardj365985f2006-05-13 01:54:15 +000041 --error-exitcode=<number> exit code to return if errors found [0=disable]
nethercotef4928da2004-06-15 10:54:40 +000042 --show-below-main=no|yes continue stack traces below main() [no]
43 --suppressions=<filename> suppress errors described in <filename>
sewardj09272c72005-01-11 14:21:02 +000044 --gen-suppressions=no|yes|all print suppressions for errors? [no]
nethercotef4928da2004-06-15 10:54:40 +000045 --db-attach=no|yes start debugger when errors detected? [no]
bart0f212dc2009-08-20 18:38:59 +000046 --db-command=<command> command to start debugger [... -nw %f %p]
nethercotef4928da2004-06-15 10:54:40 +000047 --input-fd=<number> file descriptor for input [0=stdin]
njn97db7612009-08-04 02:32:55 +000048 --dsymutil=no|yes run dsymutil on Mac OS X when helpful? [no]
sewardj412ad6e2005-04-03 00:16:11 +000049 --max-stackframe=<number> assume stack switch for SP changes larger
50 than <number> bytes [2000000]
sewardj95d86c02007-12-18 01:49:23 +000051 --main-stacksize=<number> set size of main thread's stack (in bytes)
philippe3bcd51d2013-06-12 21:45:39 +000052 [min(max(current 'ulimit' value,1MB),16MB)]
nethercotef4928da2004-06-15 10:54:40 +000053
njn97db7612009-08-04 02:32:55 +000054 user options for Valgrind tools that replace malloc:
philipped99c26a2012-07-31 22:17:28 +000055 --alignment=<number> set minimum alignment of heap allocations [not used by this tool]
56 --redzone-size=<number> set minimum size of redzones added before/after
57 heap blocks (in bytes). [not used by this tool]
njn97db7612009-08-04 02:32:55 +000058
59 uncommon user options for all Valgrind tools:
sewardj14cdbf82010-10-12 00:44:05 +000060 --fullpath-after= (with nothing after the '=')
61 show full source paths in call stacks
62 --fullpath-after=string like --fullpath-after=, but only show the
63 part of the path after 'string'. Allows removal
64 of path prefixes. Use this flag multiple times
65 to specify a set of prefixes to remove.
sewardj8b6573d2012-12-05 22:15:14 +000066 --extra-debuginfo-path=path absolute path to search for additional
67 debug symbols, in addition to existing default
68 well known search paths.
sewardje5b6cc42013-07-02 20:47:24 +000069 --debuginfo-server=ipaddr:port also query this server
70 (valgrind-di-server) for debug symbols
71 --allow-mismatched-debuginfo=no|yes [no]
72 for the above two flags only, accept debuginfo
73 objects that don't "match" the main object
sewardj6dbcc632011-06-07 21:39:28 +000074 --smc-check=none|stack|all|all-non-file [stack]
75 checks for self-modifying code: none, only for
76 code found in stacks, for all code, or for all
77 code except that from file-backed mappings
njn97db7612009-08-04 02:32:55 +000078 --read-var-info=yes|no read debug info on stack and global variables
79 and use it to print better error messages in
80 tools that make use of it (Memcheck, Helgrind,
bartf6122a02010-03-27 07:38:39 +000081 DRD) [no]
sewardj3b290482011-05-06 21:02:55 +000082 --vgdb-poll=<number> gdbserver poll max every <number> basic blocks [5000]
83 --vgdb-shadow-registers=no|yes let gdb see the shadow registers [no]
84 --vgdb-prefix=<prefix> prefix for vgdb FIFOs [/tmp/vgdb-pipe]
njn97db7612009-08-04 02:32:55 +000085 --run-libc-freeres=no|yes free up glibc memory at exit on Linux? [yes]
86 --sim-hints=hint1,hint2,... known hints:
sewardjcc3de2d2011-08-18 15:08:20 +000087 lax-ioctls, enable-outer, fuse-compatible [none]
bart78bfc712011-12-08 16:14:59 +000088 --fair-sched=no|yes|try schedule threads fairly on multicore systems [no]
njn97db7612009-08-04 02:32:55 +000089 --kernel-variant=variant1,variant2,... known variants: bproc [none]
90 handle non-standard kernel variants
philippe46207652013-01-20 17:11:58 +000091 --merge-recursive-frames=<number> merge frames between identical
92 program counters in max <number> frames) [0]
philippe8e1bee42013-10-18 00:08:20 +000093 --num-transtab-sectors=<number> size of translated code cache [16]
sewardja11ec172013-10-18 11:18:45 +000094 more sectors may increase performance, but use more memory.
philippee4d78122014-04-20 14:20:37 +000095 --aspace-minaddr=0xPP avoid mapping memory below 0xPP [guessed]
njn97db7612009-08-04 02:32:55 +000096 --show-emwarns=no|yes show warnings about emulation limits? [no]
sewardjf9ebc392010-05-09 22:30:43 +000097 --require-text-symbol=:sonamepattern:symbolpattern abort run if the
98 stated shared object doesn't have the stated
99 text symbol. Patterns can contain ? and *.
philippe1e470b52012-05-11 19:33:46 +0000100 --soname-synonyms=syn1=pattern1,syn2=pattern2,... synonym soname
sewardj260c6482012-08-07 14:46:34 +0000101 specify patterns for function wrapping or replacement.
102 To use a non-libc malloc library that is
103 in the main exe: --soname-synonyms=somalloc=NONE
104 in libxyzzy.so: --soname-synonyms=somalloc=libxyzzy.so
sewardjc30cd9b2012-12-06 18:08:54 +0000105 --sigill-diagnostics=yes|no warn about illegal instructions? [yes]
sewardj49984ea2013-10-18 13:21:26 +0000106 --unw-stack-scan-thresh=<number> Enable stack-scan unwind if fewer
107 than <number> good frames found [0, meaning "disabled"]
108 NOTE: stack scanning is only available on arm-linux.
109 --unw-stack-scan-frames=<number> Max number of frames that can be
110 recovered by stack scanning [5]
njn97db7612009-08-04 02:32:55 +0000111
nethercotef4928da2004-06-15 10:54:40 +0000112 user options for Nulgrind:
113 (none)
114
115 Extra options read from ~/.valgrindrc, $VALGRIND_OPTS, ./.valgrindrc
116
sewardj0f157dd2013-10-18 14:27:36 +0000117 Nulgrind is Copyright (C) 2002-2013, and GNU GPL'd, by Nicholas Nethercote.
118 Valgrind is Copyright (C) 2000-2013, and GNU GPL'd, by Julian Seward et al.
119 LibVEX is Copyright (C) 2004-2013, and GNU GPL'd, by OpenWorks LLP et al.
nethercotef4928da2004-06-15 10:54:40 +0000120
njn10b9aea2009-07-14 06:55:05 +0000121 Bug reports, feedback, admiration, abuse, etc, to: www.valgrind.org.
nethercotef4928da2004-06-15 10:54:40 +0000122