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 --track-fds=no|yes track open file descriptors? [no] 25 --time-stamp=no|yes add timestamps to log messages? [no] 26 --log-fd=<number> log messages to file descriptor [2=stderr] 27 --log-file=<file> log messages to <file> 28 --log-socket=ipaddr:port log messages to socket ipaddr:port 29 30 user options for Valgrind tools that report errors: 31 --xml=yes emit error output in XML (some tools only) 32 --xml-fd=<number> XML output to file descriptor 33 --xml-file=<file> XML output to <file> 34 --xml-socket=ipaddr:port XML output to socket ipaddr:port 35 --xml-user-comment=STR copy STR verbatim into XML output 36 --demangle=no|yes automatically demangle C++ names? [yes] 37 --num-callers=<number> show <number> callers in stack traces [12] 38 --error-limit=no|yes stop showing new errors if too many? [yes] 39 --error-exitcode=<number> exit code to return if errors found [0=disable] 40 --show-below-main=no|yes continue stack traces below main() [no] 41 --suppressions=<filename> suppress errors described in <filename> 42 --gen-suppressions=no|yes|all print suppressions for errors? [no] 43 --db-attach=no|yes start debugger when errors detected? [no] 44 --db-command=<command> command to start debugger [... -nw %f %p] 45 --input-fd=<number> file descriptor for input [0=stdin] 46 --dsymutil=no|yes run dsymutil on Mac OS X when helpful? [no] 47 --max-stackframe=<number> assume stack switch for SP changes larger 48 than <number> bytes [2000000] 49 --main-stacksize=<number> set size of main thread's stack (in bytes) 50 [use current 'ulimit' value] 51 52 user options for Valgrind tools that replace malloc: 53 --alignment=<number> set minimum alignment of heap allocations [...] 54 55 uncommon user options for all Valgrind tools: 56 --fullpath-after= (with nothing after the '=') 57 show full source paths in call stacks 58 --fullpath-after=string like --fullpath-after=, but only show the 59 part of the path after 'string'. Allows removal 60 of path prefixes. Use this flag multiple times 61 to specify a set of prefixes to remove. 62 --smc-check=none|stack|all|all-non-file [stack] 63 checks for self-modifying code: none, only for 64 code found in stacks, for all code, or for all 65 code except that from file-backed mappings 66 --read-var-info=yes|no read debug info on stack and global variables 67 and use it to print better error messages in 68 tools that make use of it (Memcheck, Helgrind, 69 DRD) [no] 70 --vgdb-poll=<number> gdbserver poll max every <number> basic blocks [5000] 71 --vgdb-shadow-registers=no|yes let gdb see the shadow registers [no] 72 --vgdb-prefix=<prefix> prefix for vgdb FIFOs [/tmp/vgdb-pipe] 73 --run-libc-freeres=no|yes free up glibc memory at exit on Linux? [yes] 74 --sim-hints=hint1,hint2,... known hints: 75 lax-ioctls, enable-outer, fuse-compatible [none] 76 --kernel-variant=variant1,variant2,... known variants: bproc [none] 77 handle non-standard kernel variants 78 --show-emwarns=no|yes show warnings about emulation limits? [no] 79 --require-text-symbol=:sonamepattern:symbolpattern abort run if the 80 stated shared object doesn't have the stated 81 text symbol. Patterns can contain ? and *. 82 83 user options for Nulgrind: 84 (none) 85 86 debugging options for all Valgrind tools: 87 -d show verbose debugging output 88 --stats=no|yes show tool and core statistics [no] 89 --sanity-level=<number> level of sanity checking to do [1] 90 --trace-flags=<XXXXXXXX> show generated code? (X = 0|1) [00000000] 91 --profile-flags=<XXXXXXXX> ditto, but for profiling (X = 0|1) [00000000] 92 --trace-notbelow=<number> only show BBs above <number> [999999999] 93 --trace-syscalls=no|yes show all system calls? [no] 94 --trace-signals=no|yes show signal handling details? [no] 95 --trace-symtab=no|yes show symbol table details? [no] 96 --trace-symtab-patt=<patt> limit debuginfo tracing to obj name <patt> 97 --trace-cfi=no|yes show call-frame-info details? [no] 98 --debug-dump=syms mimic /usr/bin/readelf --syms 99 --debug-dump=line mimic /usr/bin/readelf --debug-dump=line 100 --debug-dump=frames mimic /usr/bin/readelf --debug-dump=frames 101 --trace-redir=no|yes show redirection details? [no] 102 --trace-sched=no|yes show thread scheduler details? [no] 103 --profile-heap=no|yes profile Valgrind's own space use 104 --wait-for-gdb=yes|no pause on startup to wait for gdb attach 105 --sym-offsets=yes|no show syms in form 'name+offset' ? [no] 106 --command-line-only=no|yes only use command line options [no] 107 108 Vex options for all Valgrind tools: 109 --vex-iropt-verbosity=<0..9> [0] 110 --vex-iropt-level=<0..2> [2] 111 --vex-iropt-precise-memory-exns=no|yes [no] 112 --vex-iropt-unroll-thresh=<0..400> [120] 113 --vex-guest-max-insns=<1..100> [50] 114 --vex-guest-chase-thresh=<0..99> [10] 115 --vex-guest-chase-cond=no|yes [no] 116 --trace-flags and --profile-flags values (omit the middle space): 117 1000 0000 show conversion into IR 118 0100 0000 show after initial opt 119 0010 0000 show after instrumentation 120 0001 0000 show after second opt 121 0000 1000 show after tree building 122 0000 0100 show selecting insns 123 0000 0010 show after reg-alloc 124 0000 0001 show final assembly 125 (Nb: you need --trace-notbelow with --trace-flags for full details) 126 127 debugging options for Valgrind tools that report errors 128 --dump-error=<number> show translation for basic block associated 129 with <number>'th error context [0=show none] 130 131 debugging options for Valgrind tools that replace malloc: 132 --trace-malloc=no|yes show client malloc details? [no] 133 134 debugging options for Nulgrind: 135 (none) 136 137 Extra options read from ~/.valgrindrc, $VALGRIND_OPTS, ./.valgrindrc 138 139 Nulgrind is Copyright (C) 2002-2011, and GNU GPL'd, by Nicholas Nethercote. 140 Valgrind is Copyright (C) 2000-2011, and GNU GPL'd, by Julian Seward et al. 141 LibVEX is Copyright (C) 2004-2011, and GNU GPL'd, by OpenWorks LLP et al. 142 143 Bug reports, feedback, admiration, abuse, etc, to: www.valgrind.org. 144 145