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 --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 62 uncommon user options for all Valgrind tools: 63 --fullpath-after= (with nothing after the '=') 64 show full source paths in call stacks 65 --fullpath-after=string like --fullpath-after=, but only show the 66 part of the path after 'string'. Allows removal 67 of path prefixes. Use this flag multiple times 68 to specify a set of prefixes to remove. 69 --extra-debuginfo-path=path absolute path to search for additional 70 debug symbols, in addition to existing default 71 well known search paths. 72 --debuginfo-server=ipaddr:port also query this server 73 (valgrind-di-server) for debug symbols 74 --allow-mismatched-debuginfo=no|yes [no] 75 for the above two flags only, accept debuginfo 76 objects that don't "match" the main object 77 --smc-check=none|stack|all|all-non-file [all-non-file] 78 checks for self-modifying code: none, only for 79 code found in stacks, for all code, or for all 80 code except that from file-backed mappings 81 --read-inline-info=yes|no read debug info about inlined function calls 82 and use it to do better stack traces. [yes] 83 on Linux/Android/Solaris for Memcheck/Helgrind/DRD 84 only. [no] for all other tools and platforms. 85 --read-var-info=yes|no read debug info on stack and global variables 86 and use it to print better error messages in 87 tools that make use of it (Memcheck, Helgrind, 88 DRD) [no] 89 --vgdb-poll=<number> gdbserver poll max every <number> basic blocks [5000] 90 --vgdb-shadow-registers=no|yes let gdb see the shadow registers [no] 91 --vgdb-prefix=<prefix> prefix for vgdb FIFOs [.../vgdb-pipe] 92 --run-libc-freeres=no|yes free up glibc memory at exit on Linux? [yes] 93 --sim-hints=hint1,hint2,... activate unusual sim behaviours [none] 94 where hint is one of: 95 lax-ioctls lax-doors fuse-compatible enable-outer 96 no-inner-prefix no-nptl-pthread-stackcache none 97 --fair-sched=no|yes|try schedule threads fairly on multicore systems [no] 98 --kernel-variant=variant1,variant2,... 99 handle non-standard kernel variants [none] 100 where variant is one of: 101 bproc android-no-hw-tls 102 android-gpu-sgx5xx android-gpu-adreno3xx none 103 --merge-recursive-frames=<number> merge frames between identical 104 program counters in max <number> frames) [0] 105 --num-transtab-sectors=<number> size of translated code cache [16] 106 more sectors may increase performance, but use more memory. 107 --avg-transtab-entry-size=<number> avg size in bytes of a translated 108 basic block [0, meaning use tool provided default] 109 --aspace-minaddr=0xPP avoid mapping memory below 0xPP [guessed] 110 --valgrind-stacksize=<number> size of valgrind (host) thread's stack 111 (in bytes) [1048576] 112 --show-emwarns=no|yes show warnings about emulation limits? [no] 113 --require-text-symbol=:sonamepattern:symbolpattern abort run if the 114 stated shared object doesn't have the stated 115 text symbol. Patterns can contain ? and *. 116 --soname-synonyms=syn1=pattern1,syn2=pattern2,... synonym soname 117 specify patterns for function wrapping or replacement. 118 To use a non-libc malloc library that is 119 in the main exe: --soname-synonyms=somalloc=NONE 120 in libxyzzy.so: --soname-synonyms=somalloc=libxyzzy.so 121 --sigill-diagnostics=yes|no warn about illegal instructions? [yes] 122 --unw-stack-scan-thresh=<number> Enable stack-scan unwind if fewer 123 than <number> good frames found [0, meaning "disabled"] 124 NOTE: stack scanning is only available on arm-linux. 125 --unw-stack-scan-frames=<number> Max number of frames that can be 126 recovered by stack scanning [5] 127 --resync-filter=no|yes|verbose [yes on MacOS, no on other OSes] 128 attempt to avoid expensive address-space-resync operations 129 --max-threads=<number> maximum number of threads that valgrind can 130 handle [500] 131 132 user options for Nulgrind: 133 (none) 134 135 Extra options read from ~/.valgrindrc, $VALGRIND_OPTS, ./.valgrindrc 136 137 Nulgrind is Copyright (C) 2002-2015, and GNU GPL'd, by Nicholas Nethercote. 138 Valgrind is Copyright (C) 2000-2015, and GNU GPL'd, by Julian Seward et al. 139 LibVEX is Copyright (C) 2004-2015, and GNU GPL'd, by OpenWorks LLP et al. 140 141 Bug reports, feedback, admiration, abuse, etc, to: www.valgrind.org. 142 143