njn | 00cfcfc | 2005-11-12 18:53:50 +0000 | [diff] [blame] | 1 | usage: valgrind [options] prog-and-args |
nethercote | f4928da | 2004-06-15 10:54:40 +0000 | [diff] [blame] | 2 | |
njn | 97db761 | 2009-08-04 02:32:55 +0000 | [diff] [blame] | 3 | tool-selection option, with default in [ ]: |
sewardj | b5f6f51 | 2005-03-10 23:59:00 +0000 | [diff] [blame] | 4 | --tool=<name> use the Valgrind tool named <name> [memcheck] |
njn | 97db761 | 2009-08-04 02:32:55 +0000 | [diff] [blame] | 5 | |
| 6 | basic user options for all Valgrind tools, with defaults in [ ]: |
nethercote | a76368b | 2004-06-16 11:56:29 +0000 | [diff] [blame] | 7 | -h --help show this message |
nethercote | f4928da | 2004-06-15 10:54:40 +0000 | [diff] [blame] | 8 | --help-debug show this message, plus debugging options |
| 9 | --version show version |
| 10 | -q --quiet run silently; only print error msgs |
sewardj | 2d9e874 | 2009-08-07 15:46:56 +0000 | [diff] [blame] | 11 | -v --verbose be more verbose -- show misc extra info |
njn | 374a36d | 2007-11-23 01:41:32 +0000 | [diff] [blame] | 12 | --trace-children=no|yes Valgrind-ise child processes (follow execve)? [no] |
sewardj | 0642127 | 2009-11-05 08:55:13 +0000 | [diff] [blame] | 13 | --trace-children-skip=patt1,patt2,... specifies a list of executables |
| 14 | that --trace-children=yes should not trace into |
sewardj | 9ab64a4 | 2010-12-06 11:40:04 +0000 | [diff] [blame] | 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 |
njn | 97db761 | 2009-08-04 02:32:55 +0000 | [diff] [blame] | 18 | --child-silent-after-fork=no|yes omit child output between fork & exec? [no] |
sewardj | 3b29048 | 2011-05-06 21:02:55 +0000 | [diff] [blame] | 19 | --vgdb=no|yes|full activate gdbserver? [yes] |
| 20 | full is slower but provides precise watchpoint/step |
sewardj | 1568e17 | 2011-06-18 08:28:04 +0000 | [diff] [blame] | 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 |
philippe | 180a750 | 2014-04-20 13:41:10 +0000 | [diff] [blame] | 24 | --vgdb-stop-at=event1,event2,... invoke gdbserver for given events [none] |
| 25 | where event is one of startup exit valgrindabexit all none |
nethercote | 0d58850 | 2004-06-21 13:27:11 +0000 | [diff] [blame] | 26 | --track-fds=no|yes track open file descriptors? [no] |
thughes | 6233a38 | 2004-08-21 11:10:44 +0000 | [diff] [blame] | 27 | --time-stamp=no|yes add timestamps to log messages? [no] |
njn | ce54555 | 2005-07-25 22:36:52 +0000 | [diff] [blame] | 28 | --log-fd=<number> log messages to file descriptor [2=stderr] |
njn | 374a36d | 2007-11-23 01:41:32 +0000 | [diff] [blame] | 29 | --log-file=<file> log messages to <file> |
njn | ce54555 | 2005-07-25 22:36:52 +0000 | [diff] [blame] | 30 | --log-socket=ipaddr:port log messages to socket ipaddr:port |
nethercote | f4928da | 2004-06-15 10:54:40 +0000 | [diff] [blame] | 31 | |
nethercote | f4928da | 2004-06-15 10:54:40 +0000 | [diff] [blame] | 32 | user options for Valgrind tools that report errors: |
sewardj | 8fd8758 | 2009-07-15 14:52:02 +0000 | [diff] [blame] | 33 | --xml=yes emit error output in XML (some tools only) |
| 34 | --xml-fd=<number> XML output to file descriptor |
| 35 | --xml-file=<file> XML output to <file> |
| 36 | --xml-socket=ipaddr:port XML output to socket ipaddr:port |
| 37 | --xml-user-comment=STR copy STR verbatim into XML output |
nethercote | f4928da | 2004-06-15 10:54:40 +0000 | [diff] [blame] | 38 | --demangle=no|yes automatically demangle C++ names? [yes] |
njn | 20b4a15 | 2005-10-19 22:39:40 +0000 | [diff] [blame] | 39 | --num-callers=<number> show <number> callers in stack traces [12] |
nethercote | f4928da | 2004-06-15 10:54:40 +0000 | [diff] [blame] | 40 | --error-limit=no|yes stop showing new errors if too many? [yes] |
sewardj | 365985f | 2006-05-13 01:54:15 +0000 | [diff] [blame] | 41 | --error-exitcode=<number> exit code to return if errors found [0=disable] |
nethercote | f4928da | 2004-06-15 10:54:40 +0000 | [diff] [blame] | 42 | --show-below-main=no|yes continue stack traces below main() [no] |
bart | 73e9a01 | 2014-06-22 11:13:47 +0000 | [diff] [blame^] | 43 | --defaultsupp=yes|no load default suppressions [yes] |
nethercote | f4928da | 2004-06-15 10:54:40 +0000 | [diff] [blame] | 44 | --suppressions=<filename> suppress errors described in <filename> |
sewardj | 09272c7 | 2005-01-11 14:21:02 +0000 | [diff] [blame] | 45 | --gen-suppressions=no|yes|all print suppressions for errors? [no] |
nethercote | f4928da | 2004-06-15 10:54:40 +0000 | [diff] [blame] | 46 | --db-attach=no|yes start debugger when errors detected? [no] |
bart | 0f212dc | 2009-08-20 18:38:59 +0000 | [diff] [blame] | 47 | --db-command=<command> command to start debugger [... -nw %f %p] |
nethercote | f4928da | 2004-06-15 10:54:40 +0000 | [diff] [blame] | 48 | --input-fd=<number> file descriptor for input [0=stdin] |
njn | 97db761 | 2009-08-04 02:32:55 +0000 | [diff] [blame] | 49 | --dsymutil=no|yes run dsymutil on Mac OS X when helpful? [no] |
sewardj | 412ad6e | 2005-04-03 00:16:11 +0000 | [diff] [blame] | 50 | --max-stackframe=<number> assume stack switch for SP changes larger |
| 51 | than <number> bytes [2000000] |
sewardj | 95d86c0 | 2007-12-18 01:49:23 +0000 | [diff] [blame] | 52 | --main-stacksize=<number> set size of main thread's stack (in bytes) |
philippe | 3bcd51d | 2013-06-12 21:45:39 +0000 | [diff] [blame] | 53 | [min(max(current 'ulimit' value,1MB),16MB)] |
nethercote | f4928da | 2004-06-15 10:54:40 +0000 | [diff] [blame] | 54 | |
njn | 97db761 | 2009-08-04 02:32:55 +0000 | [diff] [blame] | 55 | user options for Valgrind tools that replace malloc: |
philippe | d99c26a | 2012-07-31 22:17:28 +0000 | [diff] [blame] | 56 | --alignment=<number> set minimum alignment of heap allocations [not used by this tool] |
| 57 | --redzone-size=<number> set minimum size of redzones added before/after |
| 58 | heap blocks (in bytes). [not used by this tool] |
njn | 97db761 | 2009-08-04 02:32:55 +0000 | [diff] [blame] | 59 | |
| 60 | uncommon user options for all Valgrind tools: |
sewardj | 14cdbf8 | 2010-10-12 00:44:05 +0000 | [diff] [blame] | 61 | --fullpath-after= (with nothing after the '=') |
| 62 | show full source paths in call stacks |
| 63 | --fullpath-after=string like --fullpath-after=, but only show the |
| 64 | part of the path after 'string'. Allows removal |
| 65 | of path prefixes. Use this flag multiple times |
| 66 | to specify a set of prefixes to remove. |
sewardj | 8b6573d | 2012-12-05 22:15:14 +0000 | [diff] [blame] | 67 | --extra-debuginfo-path=path absolute path to search for additional |
| 68 | debug symbols, in addition to existing default |
| 69 | well known search paths. |
sewardj | e5b6cc4 | 2013-07-02 20:47:24 +0000 | [diff] [blame] | 70 | --debuginfo-server=ipaddr:port also query this server |
| 71 | (valgrind-di-server) for debug symbols |
| 72 | --allow-mismatched-debuginfo=no|yes [no] |
| 73 | for the above two flags only, accept debuginfo |
| 74 | objects that don't "match" the main object |
sewardj | 6dbcc63 | 2011-06-07 21:39:28 +0000 | [diff] [blame] | 75 | --smc-check=none|stack|all|all-non-file [stack] |
| 76 | checks for self-modifying code: none, only for |
| 77 | code found in stacks, for all code, or for all |
| 78 | code except that from file-backed mappings |
philippe | a0a7393 | 2014-06-15 15:42:20 +0000 | [diff] [blame] | 79 | --read-inline-info=yes|no read debug info about inlined function calls |
| 80 | and use it to do better stack traces [no] |
njn | 97db761 | 2009-08-04 02:32:55 +0000 | [diff] [blame] | 81 | --read-var-info=yes|no read debug info on stack and global variables |
| 82 | and use it to print better error messages in |
| 83 | tools that make use of it (Memcheck, Helgrind, |
bart | f6122a0 | 2010-03-27 07:38:39 +0000 | [diff] [blame] | 84 | DRD) [no] |
sewardj | 3b29048 | 2011-05-06 21:02:55 +0000 | [diff] [blame] | 85 | --vgdb-poll=<number> gdbserver poll max every <number> basic blocks [5000] |
| 86 | --vgdb-shadow-registers=no|yes let gdb see the shadow registers [no] |
| 87 | --vgdb-prefix=<prefix> prefix for vgdb FIFOs [/tmp/vgdb-pipe] |
njn | 97db761 | 2009-08-04 02:32:55 +0000 | [diff] [blame] | 88 | --run-libc-freeres=no|yes free up glibc memory at exit on Linux? [yes] |
| 89 | --sim-hints=hint1,hint2,... known hints: |
sewardj | cc3de2d | 2011-08-18 15:08:20 +0000 | [diff] [blame] | 90 | lax-ioctls, enable-outer, fuse-compatible [none] |
bart | 78bfc71 | 2011-12-08 16:14:59 +0000 | [diff] [blame] | 91 | --fair-sched=no|yes|try schedule threads fairly on multicore systems [no] |
njn | 97db761 | 2009-08-04 02:32:55 +0000 | [diff] [blame] | 92 | --kernel-variant=variant1,variant2,... known variants: bproc [none] |
| 93 | handle non-standard kernel variants |
philippe | 4620765 | 2013-01-20 17:11:58 +0000 | [diff] [blame] | 94 | --merge-recursive-frames=<number> merge frames between identical |
| 95 | program counters in max <number> frames) [0] |
philippe | 8e1bee4 | 2013-10-18 00:08:20 +0000 | [diff] [blame] | 96 | --num-transtab-sectors=<number> size of translated code cache [16] |
sewardj | a11ec17 | 2013-10-18 11:18:45 +0000 | [diff] [blame] | 97 | more sectors may increase performance, but use more memory. |
philippe | e4d7812 | 2014-04-20 14:20:37 +0000 | [diff] [blame] | 98 | --aspace-minaddr=0xPP avoid mapping memory below 0xPP [guessed] |
njn | 97db761 | 2009-08-04 02:32:55 +0000 | [diff] [blame] | 99 | --show-emwarns=no|yes show warnings about emulation limits? [no] |
sewardj | f9ebc39 | 2010-05-09 22:30:43 +0000 | [diff] [blame] | 100 | --require-text-symbol=:sonamepattern:symbolpattern abort run if the |
| 101 | stated shared object doesn't have the stated |
| 102 | text symbol. Patterns can contain ? and *. |
philippe | 1e470b5 | 2012-05-11 19:33:46 +0000 | [diff] [blame] | 103 | --soname-synonyms=syn1=pattern1,syn2=pattern2,... synonym soname |
sewardj | 260c648 | 2012-08-07 14:46:34 +0000 | [diff] [blame] | 104 | specify patterns for function wrapping or replacement. |
| 105 | To use a non-libc malloc library that is |
| 106 | in the main exe: --soname-synonyms=somalloc=NONE |
| 107 | in libxyzzy.so: --soname-synonyms=somalloc=libxyzzy.so |
sewardj | c30cd9b | 2012-12-06 18:08:54 +0000 | [diff] [blame] | 108 | --sigill-diagnostics=yes|no warn about illegal instructions? [yes] |
sewardj | 49984ea | 2013-10-18 13:21:26 +0000 | [diff] [blame] | 109 | --unw-stack-scan-thresh=<number> Enable stack-scan unwind if fewer |
| 110 | than <number> good frames found [0, meaning "disabled"] |
| 111 | NOTE: stack scanning is only available on arm-linux. |
| 112 | --unw-stack-scan-frames=<number> Max number of frames that can be |
| 113 | recovered by stack scanning [5] |
njn | 97db761 | 2009-08-04 02:32:55 +0000 | [diff] [blame] | 114 | |
nethercote | f4928da | 2004-06-15 10:54:40 +0000 | [diff] [blame] | 115 | user options for Nulgrind: |
| 116 | (none) |
| 117 | |
| 118 | Extra options read from ~/.valgrindrc, $VALGRIND_OPTS, ./.valgrindrc |
| 119 | |
sewardj | 0f157dd | 2013-10-18 14:27:36 +0000 | [diff] [blame] | 120 | Nulgrind is Copyright (C) 2002-2013, and GNU GPL'd, by Nicholas Nethercote. |
| 121 | Valgrind is Copyright (C) 2000-2013, and GNU GPL'd, by Julian Seward et al. |
| 122 | LibVEX is Copyright (C) 2004-2013, and GNU GPL'd, by OpenWorks LLP et al. |
nethercote | f4928da | 2004-06-15 10:54:40 +0000 | [diff] [blame] | 123 | |
njn | 10b9aea | 2009-07-14 06:55:05 +0000 | [diff] [blame] | 124 | Bug reports, feedback, admiration, abuse, etc, to: www.valgrind.org. |
nethercote | f4928da | 2004-06-15 10:54:40 +0000 | [diff] [blame] | 125 | |