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 --db-attach=no|yes start debugger when errors detected? [no] 51 Note: deprecated feature 52 --db-command=<command> command to start debugger [... -nw %f %p] 53 --input-fd=<number> file descriptor for input [0=stdin] 54 --dsymutil=no|yes run dsymutil on Mac OS X when helpful? [no] 55 --max-stackframe=<number> assume stack switch for SP changes larger 56 than <number> bytes [2000000] 57 --main-stacksize=<number> set size of main thread's stack (in bytes) 58 [min(max(current 'ulimit' value,1MB),16MB)] 59 60 user options for Valgrind tools that replace malloc: 61 --alignment=<number> set minimum alignment of heap allocations [not used by this tool] 62 --redzone-size=<number> set minimum size of redzones added before/after 63 heap blocks (in bytes). [not used by this tool] 64 65 uncommon user options for all Valgrind tools: 66 --fullpath-after= (with nothing after the '=') 67 show full source paths in call stacks 68 --fullpath-after=string like --fullpath-after=, but only show the 69 part of the path after 'string'. Allows removal 70 of path prefixes. Use this flag multiple times 71 to specify a set of prefixes to remove. 72 --extra-debuginfo-path=path absolute path to search for additional 73 debug symbols, in addition to existing default 74 well known search paths. 75 --debuginfo-server=ipaddr:port also query this server 76 (valgrind-di-server) for debug symbols 77 --allow-mismatched-debuginfo=no|yes [no] 78 for the above two flags only, accept debuginfo 79 objects that don't "match" the main object 80 --smc-check=none|stack|all|all-non-file [stack] 81 checks for self-modifying code: none, only for 82 code found in stacks, for all code, or for all 83 code except that from file-backed mappings 84 --read-inline-info=yes|no read debug info about inlined function calls 85 and use it to do better stack traces. [yes] 86 on Linux/Android for Memcheck/Helgrind/DRD 87 only. [no] for all other tools and platforms. 88 --read-var-info=yes|no read debug info on stack and global variables 89 and use it to print better error messages in 90 tools that make use of it (Memcheck, Helgrind, 91 DRD) [no] 92 --vgdb-poll=<number> gdbserver poll max every <number> basic blocks [5000] 93 --vgdb-shadow-registers=no|yes let gdb see the shadow registers [no] 94 --vgdb-prefix=<prefix> prefix for vgdb FIFOs [.../vgdb-pipe] 95 --run-libc-freeres=no|yes free up glibc memory at exit on Linux? [yes] 96 --sim-hints=hint1,hint2,... activate unusual sim behaviours [none] 97 where hint is one of: 98 lax-ioctls fuse-compatible enable-outer 99 no-inner-prefix no-nptl-pthread-stackcache none 100 --fair-sched=no|yes|try schedule threads fairly on multicore systems [no] 101 --kernel-variant=variant1,variant2,... 102 handle non-standard kernel variants [none] 103 where variant is one of: 104 bproc android-no-hw-tls 105 android-gpu-sgx5xx android-gpu-adreno3xx none 106 --merge-recursive-frames=<number> merge frames between identical 107 program counters in max <number> frames) [0] 108 --num-transtab-sectors=<number> size of translated code cache [16] 109 more sectors may increase performance, but use more memory. 110 --avg-transtab-entry-size=<number> avg size in bytes of a translated 111 basic block [0, meaning use tool provided default] 112 --aspace-minaddr=0xPP avoid mapping memory below 0xPP [guessed] 113 --valgrind-stacksize=<number> size of valgrind (host) thread's stack 114 (in bytes) [1048576] 115 --show-emwarns=no|yes show warnings about emulation limits? [no] 116 --require-text-symbol=:sonamepattern:symbolpattern abort run if the 117 stated shared object doesn't have the stated 118 text symbol. Patterns can contain ? and *. 119 --soname-synonyms=syn1=pattern1,syn2=pattern2,... synonym soname 120 specify patterns for function wrapping or replacement. 121 To use a non-libc malloc library that is 122 in the main exe: --soname-synonyms=somalloc=NONE 123 in libxyzzy.so: --soname-synonyms=somalloc=libxyzzy.so 124 --sigill-diagnostics=yes|no warn about illegal instructions? [yes] 125 --unw-stack-scan-thresh=<number> Enable stack-scan unwind if fewer 126 than <number> good frames found [0, meaning "disabled"] 127 NOTE: stack scanning is only available on arm-linux. 128 --unw-stack-scan-frames=<number> Max number of frames that can be 129 recovered by stack scanning [5] 130 --resync-filter=no|yes|verbose [yes on MacOS, no on other OSes] 131 attempt to avoid expensive address-space-resync operations 132 --max-threads=<number> maximum number of threads that valgrind can 133 handle [500] 134 135 user options for Nulgrind: 136 (none) 137 138 debugging options for all Valgrind tools: 139 -d show verbose debugging output 140 --stats=no|yes show tool and core statistics [no] 141 --sanity-level=<number> level of sanity checking to do [1] 142 --trace-flags=<XXXXXXXX> show generated code? (X = 0|1) [00000000] 143 --profile-flags=<XXXXXXXX> ditto, but for profiling (X = 0|1) [00000000] 144 --profile-interval=<number> show profile every <number> event checks 145 [0, meaning only at the end of the run] 146 --trace-notbelow=<number> only show BBs above <number> [999999999] 147 --trace-notabove=<number> only show BBs below <number> [0] 148 --trace-syscalls=no|yes show all system calls? [no] 149 --trace-signals=no|yes show signal handling details? [no] 150 --trace-symtab=no|yes show symbol table details? [no] 151 --trace-symtab-patt=<patt> limit debuginfo tracing to obj name <patt> 152 --trace-cfi=no|yes show call-frame-info details? [no] 153 --debug-dump=syms mimic /usr/bin/readelf --syms 154 --debug-dump=line mimic /usr/bin/readelf --debug-dump=line 155 --debug-dump=frames mimic /usr/bin/readelf --debug-dump=frames 156 --trace-redir=no|yes show redirection details? [no] 157 --trace-sched=no|yes show thread scheduler details? [no] 158 --profile-heap=no|yes profile Valgrind's own space use 159 --core-redzone-size=<number> set minimum size of redzones added before/after 160 heap blocks allocated for Valgrind internal use (in bytes) [4] 161 --wait-for-gdb=yes|no pause on startup to wait for gdb attach 162 --sym-offsets=yes|no show syms in form 'name+offset' ? [no] 163 --command-line-only=no|yes only use command line options [no] 164 165 Vex options for all Valgrind tools: 166 --vex-iropt-verbosity=<0..9> [0] 167 --vex-iropt-level=<0..2> [2] 168 --vex-iropt-unroll-thresh=<0..400> [120] 169 --vex-guest-max-insns=<1..100> [50] 170 --vex-guest-chase-thresh=<0..99> [10] 171 --vex-guest-chase-cond=no|yes [no] 172 Precise exception control. Possible values for 'mode' are as follows 173 and specify the minimum set of registers guaranteed to be correct 174 immediately prior to memory access instructions: 175 sp-at-mem-access stack pointer only 176 unwindregs-at-mem-access registers needed for stack unwinding 177 allregs-at-mem-access all registers 178 allregs-at-each-insn all registers are always correct 179 Default value for all 3 following flags is [unwindregs-at-mem-access]. 180 --vex-iropt-register-updates=mode setting to use by default 181 --px-default=mode synonym for --vex-iropt-register-updates 182 --px-file-backed=mode optional setting for file-backed (non-JIT) code 183 Tracing and profile control: 184 --trace-flags and --profile-flags values (omit the middle space): 185 1000 0000 show conversion into IR 186 0100 0000 show after initial opt 187 0010 0000 show after instrumentation 188 0001 0000 show after second opt 189 0000 1000 show after tree building 190 0000 0100 show selecting insns 191 0000 0010 show after reg-alloc 192 0000 0001 show final assembly 193 0000 0000 show summary profile only 194 (Nb: you need --trace-notbelow and/or --trace-notabove 195 with --trace-flags for full details) 196 197 debugging options for Valgrind tools that report errors 198 --dump-error=<number> show translation for basic block associated 199 with <number>'th error context [0=show none] 200 201 debugging options for Valgrind tools that replace malloc: 202 --trace-malloc=no|yes show client malloc details? [no] 203 204 debugging options for Nulgrind: 205 (none) 206 207 Extra options read from ~/.valgrindrc, $VALGRIND_OPTS, ./.valgrindrc 208 209 Nulgrind is Copyright (C) 2002-2013, and GNU GPL'd, by Nicholas Nethercote. 210 Valgrind is Copyright (C) 2000-2013, and GNU GPL'd, by Julian Seward et al. 211 LibVEX is Copyright (C) 2004-2013, and GNU GPL'd, by OpenWorks LLP et al. 212 213 Bug reports, feedback, admiration, abuse, etc, to: www.valgrind.org. 214 215