1 usage: 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 Extra options read from ~/.valgrindrc, $VALGRIND_OPTS, ./.valgrindrc 139 140 Nulgrind is Copyright (C) 2002-2013, and GNU GPL'd, by Nicholas Nethercote. 141 Valgrind is Copyright (C) 2000-2013, and GNU GPL'd, by Julian Seward et al. 142 LibVEX is Copyright (C) 2004-2013, and GNU GPL'd, by OpenWorks LLP et al. 143 144 Bug reports, feedback, admiration, abuse, etc, to: www.valgrind.org. 145 146