• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1usage: valgrind [options] prog-and-args
2
3  tool-selection option, with default in [ ]:
4    --tool=<name>             use the Valgrind tool named <name> [memcheck]
5
6  basic user options for all Valgrind tools, with defaults in [ ]:
7    -h --help                 show this message
8    --help-debug              show this message, plus debugging options
9    --version                 show version
10    -q --quiet                run silently; only print error msgs
11    -v --verbose              be more verbose -- show misc extra info
12    --trace-children=no|yes   Valgrind-ise child processes (follow execve)? [no]
13    --trace-children-skip=patt1,patt2,...    specifies a list of executables
14                              that --trace-children=yes should not trace into
15    --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
18    --child-silent-after-fork=no|yes omit child output between fork & exec? [no]
19    --vgdb=no|yes|full        activate gdbserver? [yes]
20                              full is slower but provides precise watchpoint/step
21    --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
24    --vgdb-stop-at=event1,event2,... invoke gdbserver for given events [none]
25         where event is one of:
26           startup exit valgrindabexit all none
27    --track-fds=no|yes        track open file descriptors? [no]
28    --time-stamp=no|yes       add timestamps to log messages? [no]
29    --log-fd=<number>         log messages to file descriptor [2=stderr]
30    --log-file=<file>         log messages to <file>
31    --log-socket=ipaddr:port  log messages to socket ipaddr:port
32
33  user options for Valgrind tools that report errors:
34    --xml=yes                 emit error output in XML (some tools only)
35    --xml-fd=<number>         XML output to file descriptor
36    --xml-file=<file>         XML output to <file>
37    --xml-socket=ipaddr:port  XML output to socket ipaddr:port
38    --xml-user-comment=STR    copy STR verbatim into XML output
39    --demangle=no|yes         automatically demangle C++ names? [yes]
40    --num-callers=<number>    show <number> callers in stack traces [12]
41    --error-limit=no|yes      stop showing new errors if too many? [yes]
42    --error-exitcode=<number> exit code to return if errors found [0=disable]
43    --error-markers=<begin>,<end> add lines with begin/end markers before/after
44                              each error output in plain text mode [none]
45    --show-below-main=no|yes  continue stack traces below main() [no]
46    --default-suppressions=yes|no
47                              load default suppressions [yes]
48    --suppressions=<filename> suppress errors described in <filename>
49    --gen-suppressions=no|yes|all    print suppressions for errors? [no]
50    --input-fd=<number>       file descriptor for input [0=stdin]
51    --dsymutil=no|yes         run dsymutil on Mac OS X when helpful? [yes]
52    --max-stackframe=<number> assume stack switch for SP changes larger
53                              than <number> bytes [2000000]
54    --main-stacksize=<number> set size of main thread's stack (in bytes)
55                              [min(max(current 'ulimit' value,1MB),16MB)]
56
57  user options for Valgrind tools that replace malloc:
58    --alignment=<number>      set minimum alignment of heap allocations [not used by this tool]
59    --redzone-size=<number>   set minimum size of redzones added before/after
60                              heap blocks (in bytes). [not used by this tool]
61    --xtree-memory=none|allocs|full   profile heap memory in an xtree [none]
62                              and produces a report at the end of the execution
63                              none: no profiling, allocs: current allocated
64                              size/blocks, full: profile current and cumulative
65                              allocated size/blocks and freed size/blocks.
66    --xtree-memory-file=<file>   xtree memory report file [xtmemory.kcg.%p]
67
68  uncommon user options for all Valgrind tools:
69    --fullpath-after=         (with nothing after the '=')
70                              show full source paths in call stacks
71    --fullpath-after=string   like --fullpath-after=, but only show the
72                              part of the path after 'string'.  Allows removal
73                              of path prefixes.  Use this flag multiple times
74                              to specify a set of prefixes to remove.
75    --extra-debuginfo-path=path    absolute path to search for additional
76                              debug symbols, in addition to existing default
77                              well known search paths.
78    --debuginfo-server=ipaddr:port    also query this server
79                              (valgrind-di-server) for debug symbols
80    --allow-mismatched-debuginfo=no|yes  [no]
81                              for the above two flags only, accept debuginfo
82                              objects that don't "match" the main object
83    --smc-check=none|stack|all|all-non-file [all-non-file]
84                              checks for self-modifying code: none, only for
85                              code found in stacks, for all code, or for all
86                              code except that from file-backed mappings
87    --read-inline-info=yes|no read debug info about inlined function calls
88                              and use it to do better stack traces.  [yes]
89                              on Linux/Android/Solaris for Memcheck/Helgrind/DRD
90                              only.  [no] for all other tools and platforms.
91    --read-var-info=yes|no    read debug info on stack and global variables
92                              and use it to print better error messages in
93                              tools that make use of it (Memcheck, Helgrind,
94                              DRD) [no]
95    --vgdb-poll=<number>      gdbserver poll max every <number> basic blocks [5000]
96    --vgdb-shadow-registers=no|yes   let gdb see the shadow registers [no]
97    --vgdb-prefix=<prefix>    prefix for vgdb FIFOs [.../vgdb-pipe]
98    --run-libc-freeres=no|yes free up glibc memory at exit on Linux? [yes]
99    --run-cxx-freeres=no|yes  free up libstdc++ memory at exit on Linux
100                              and Solaris? [yes]
101    --sim-hints=hint1,hint2,...  activate unusual sim behaviours [none]
102         where hint is one of:
103           lax-ioctls lax-doors fuse-compatible enable-outer
104           no-inner-prefix no-nptl-pthread-stackcache fallback-llsc none
105    --fair-sched=no|yes|try   schedule threads fairly on multicore systems [no]
106    --kernel-variant=variant1,variant2,...
107         handle non-standard kernel variants [none]
108         where variant is one of:
109           bproc android-no-hw-tls
110           android-gpu-sgx5xx android-gpu-adreno3xx none
111    --merge-recursive-frames=<number>  merge frames between identical
112           program counters in max <number> frames) [0]
113    --num-transtab-sectors=<number> size of translated code cache [32]
114           more sectors may increase performance, but use more memory.
115    --avg-transtab-entry-size=<number> avg size in bytes of a translated
116           basic block [0, meaning use tool provided default]
117    --aspace-minaddr=0xPP     avoid mapping memory below 0xPP [guessed]
118    --valgrind-stacksize=<number> size of valgrind (host) thread's stack
119                               (in bytes) [1048576]
120    --show-emwarns=no|yes     show warnings about emulation limits? [no]
121    --require-text-symbol=:sonamepattern:symbolpattern    abort run if the
122                              stated shared object doesn't have the stated
123                              text symbol.  Patterns can contain ? and *.
124    --soname-synonyms=syn1=pattern1,syn2=pattern2,... synonym soname
125              specify patterns for function wrapping or replacement.
126              To use a non-libc malloc library that is
127                  in the main exe:  --soname-synonyms=somalloc=NONE
128                  in libxyzzy.so:   --soname-synonyms=somalloc=libxyzzy.so
129    --sigill-diagnostics=yes|no  warn about illegal instructions? [yes]
130    --unw-stack-scan-thresh=<number>   Enable stack-scan unwind if fewer
131                  than <number> good frames found  [0, meaning "disabled"]
132                  NOTE: stack scanning is only available on arm-linux.
133    --unw-stack-scan-frames=<number>   Max number of frames that can be
134                  recovered by stack scanning [5]
135    --resync-filter=no|yes|verbose [yes on MacOS, no on other OSes]
136              attempt to avoid expensive address-space-resync operations
137    --max-threads=<number>    maximum number of threads that valgrind can
138                              handle [500]
139
140  user options for Nulgrind:
141    (none)
142
143  Extra options read from ~/.valgrindrc, $VALGRIND_OPTS, ./.valgrindrc
144
145  Nulgrind is Copyright (C) 2002-2017, and GNU GPL'd, by Nicholas Nethercote.
146  Valgrind is Copyright (C) 2000-2017, and GNU GPL'd, by Julian Seward et al.
147  LibVEX is Copyright (C) 2004-2017, and GNU GPL'd, by OpenWorks LLP et al.
148
149  Bug reports, feedback, admiration, abuse, etc, to: www.valgrind.org.
150
151