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 |
nethercote | 0d58850 | 2004-06-21 13:27:11 +0000 | [diff] [blame] | 24 | --track-fds=no|yes track open file descriptors? [no] |
thughes | 6233a38 | 2004-08-21 11:10:44 +0000 | [diff] [blame] | 25 | --time-stamp=no|yes add timestamps to log messages? [no] |
njn | ce54555 | 2005-07-25 22:36:52 +0000 | [diff] [blame] | 26 | --log-fd=<number> log messages to file descriptor [2=stderr] |
njn | 374a36d | 2007-11-23 01:41:32 +0000 | [diff] [blame] | 27 | --log-file=<file> log messages to <file> |
njn | ce54555 | 2005-07-25 22:36:52 +0000 | [diff] [blame] | 28 | --log-socket=ipaddr:port log messages to socket ipaddr:port |
nethercote | f4928da | 2004-06-15 10:54:40 +0000 | [diff] [blame] | 29 | |
nethercote | f4928da | 2004-06-15 10:54:40 +0000 | [diff] [blame] | 30 | user options for Valgrind tools that report errors: |
sewardj | 8fd8758 | 2009-07-15 14:52:02 +0000 | [diff] [blame] | 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 |
nethercote | f4928da | 2004-06-15 10:54:40 +0000 | [diff] [blame] | 36 | --demangle=no|yes automatically demangle C++ names? [yes] |
njn | 20b4a15 | 2005-10-19 22:39:40 +0000 | [diff] [blame] | 37 | --num-callers=<number> show <number> callers in stack traces [12] |
nethercote | f4928da | 2004-06-15 10:54:40 +0000 | [diff] [blame] | 38 | --error-limit=no|yes stop showing new errors if too many? [yes] |
sewardj | 365985f | 2006-05-13 01:54:15 +0000 | [diff] [blame] | 39 | --error-exitcode=<number> exit code to return if errors found [0=disable] |
nethercote | f4928da | 2004-06-15 10:54:40 +0000 | [diff] [blame] | 40 | --show-below-main=no|yes continue stack traces below main() [no] |
| 41 | --suppressions=<filename> suppress errors described in <filename> |
sewardj | 09272c7 | 2005-01-11 14:21:02 +0000 | [diff] [blame] | 42 | --gen-suppressions=no|yes|all print suppressions for errors? [no] |
nethercote | f4928da | 2004-06-15 10:54:40 +0000 | [diff] [blame] | 43 | --db-attach=no|yes start debugger when errors detected? [no] |
bart | 0f212dc | 2009-08-20 18:38:59 +0000 | [diff] [blame] | 44 | --db-command=<command> command to start debugger [... -nw %f %p] |
nethercote | f4928da | 2004-06-15 10:54:40 +0000 | [diff] [blame] | 45 | --input-fd=<number> file descriptor for input [0=stdin] |
njn | 97db761 | 2009-08-04 02:32:55 +0000 | [diff] [blame] | 46 | --dsymutil=no|yes run dsymutil on Mac OS X when helpful? [no] |
sewardj | 412ad6e | 2005-04-03 00:16:11 +0000 | [diff] [blame] | 47 | --max-stackframe=<number> assume stack switch for SP changes larger |
| 48 | than <number> bytes [2000000] |
sewardj | 95d86c0 | 2007-12-18 01:49:23 +0000 | [diff] [blame] | 49 | --main-stacksize=<number> set size of main thread's stack (in bytes) |
philippe | 3bcd51d | 2013-06-12 21:45:39 +0000 | [diff] [blame] | 50 | [min(max(current 'ulimit' value,1MB),16MB)] |
nethercote | f4928da | 2004-06-15 10:54:40 +0000 | [diff] [blame] | 51 | |
njn | 97db761 | 2009-08-04 02:32:55 +0000 | [diff] [blame] | 52 | user options for Valgrind tools that replace malloc: |
philippe | d99c26a | 2012-07-31 22:17:28 +0000 | [diff] [blame] | 53 | --alignment=<number> set minimum alignment of heap allocations [not used by this tool] |
| 54 | --redzone-size=<number> set minimum size of redzones added before/after |
| 55 | heap blocks (in bytes). [not used by this tool] |
njn | 97db761 | 2009-08-04 02:32:55 +0000 | [diff] [blame] | 56 | |
| 57 | uncommon user options for all Valgrind tools: |
sewardj | 14cdbf8 | 2010-10-12 00:44:05 +0000 | [diff] [blame] | 58 | --fullpath-after= (with nothing after the '=') |
| 59 | show full source paths in call stacks |
| 60 | --fullpath-after=string like --fullpath-after=, but only show the |
| 61 | part of the path after 'string'. Allows removal |
| 62 | of path prefixes. Use this flag multiple times |
| 63 | to specify a set of prefixes to remove. |
sewardj | 8b6573d | 2012-12-05 22:15:14 +0000 | [diff] [blame] | 64 | --extra-debuginfo-path=path absolute path to search for additional |
| 65 | debug symbols, in addition to existing default |
| 66 | well known search paths. |
sewardj | 6dbcc63 | 2011-06-07 21:39:28 +0000 | [diff] [blame] | 67 | --smc-check=none|stack|all|all-non-file [stack] |
| 68 | checks for self-modifying code: none, only for |
| 69 | code found in stacks, for all code, or for all |
| 70 | code except that from file-backed mappings |
njn | 97db761 | 2009-08-04 02:32:55 +0000 | [diff] [blame] | 71 | --read-var-info=yes|no read debug info on stack and global variables |
| 72 | and use it to print better error messages in |
| 73 | tools that make use of it (Memcheck, Helgrind, |
bart | f6122a0 | 2010-03-27 07:38:39 +0000 | [diff] [blame] | 74 | DRD) [no] |
sewardj | 3b29048 | 2011-05-06 21:02:55 +0000 | [diff] [blame] | 75 | --vgdb-poll=<number> gdbserver poll max every <number> basic blocks [5000] |
| 76 | --vgdb-shadow-registers=no|yes let gdb see the shadow registers [no] |
| 77 | --vgdb-prefix=<prefix> prefix for vgdb FIFOs [/tmp/vgdb-pipe] |
njn | 97db761 | 2009-08-04 02:32:55 +0000 | [diff] [blame] | 78 | --run-libc-freeres=no|yes free up glibc memory at exit on Linux? [yes] |
| 79 | --sim-hints=hint1,hint2,... known hints: |
sewardj | cc3de2d | 2011-08-18 15:08:20 +0000 | [diff] [blame] | 80 | lax-ioctls, enable-outer, fuse-compatible [none] |
bart | 78bfc71 | 2011-12-08 16:14:59 +0000 | [diff] [blame] | 81 | --fair-sched=no|yes|try schedule threads fairly on multicore systems [no] |
njn | 97db761 | 2009-08-04 02:32:55 +0000 | [diff] [blame] | 82 | --kernel-variant=variant1,variant2,... known variants: bproc [none] |
| 83 | handle non-standard kernel variants |
philippe | 4620765 | 2013-01-20 17:11:58 +0000 | [diff] [blame] | 84 | --merge-recursive-frames=<number> merge frames between identical |
| 85 | program counters in max <number> frames) [0] |
njn | 97db761 | 2009-08-04 02:32:55 +0000 | [diff] [blame] | 86 | --show-emwarns=no|yes show warnings about emulation limits? [no] |
sewardj | f9ebc39 | 2010-05-09 22:30:43 +0000 | [diff] [blame] | 87 | --require-text-symbol=:sonamepattern:symbolpattern abort run if the |
| 88 | stated shared object doesn't have the stated |
| 89 | text symbol. Patterns can contain ? and *. |
philippe | 1e470b5 | 2012-05-11 19:33:46 +0000 | [diff] [blame] | 90 | --soname-synonyms=syn1=pattern1,syn2=pattern2,... synonym soname |
sewardj | 260c648 | 2012-08-07 14:46:34 +0000 | [diff] [blame] | 91 | specify patterns for function wrapping or replacement. |
| 92 | To use a non-libc malloc library that is |
| 93 | in the main exe: --soname-synonyms=somalloc=NONE |
| 94 | in libxyzzy.so: --soname-synonyms=somalloc=libxyzzy.so |
sewardj | c30cd9b | 2012-12-06 18:08:54 +0000 | [diff] [blame] | 95 | --sigill-diagnostics=yes|no warn about illegal instructions? [yes] |
njn | 97db761 | 2009-08-04 02:32:55 +0000 | [diff] [blame] | 96 | |
nethercote | f4928da | 2004-06-15 10:54:40 +0000 | [diff] [blame] | 97 | user options for Nulgrind: |
| 98 | (none) |
| 99 | |
| 100 | Extra options read from ~/.valgrindrc, $VALGRIND_OPTS, ./.valgrindrc |
| 101 | |
sewardj | 33722a6 | 2012-08-05 16:10:55 +0000 | [diff] [blame] | 102 | Nulgrind is Copyright (C) 2002-2012, and GNU GPL'd, by Nicholas Nethercote. |
| 103 | Valgrind is Copyright (C) 2000-2012, and GNU GPL'd, by Julian Seward et al. |
| 104 | LibVEX is Copyright (C) 2004-2012, and GNU GPL'd, by OpenWorks LLP et al. |
nethercote | f4928da | 2004-06-15 10:54:40 +0000 | [diff] [blame] | 105 | |
njn | 10b9aea | 2009-07-14 06:55:05 +0000 | [diff] [blame] | 106 | Bug reports, feedback, admiration, abuse, etc, to: www.valgrind.org. |
nethercote | f4928da | 2004-06-15 10:54:40 +0000 | [diff] [blame] | 107 | |