Home | History | Annotate | Download | only in tests
      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 startup exit valgrindabexit all none
     26     --track-fds=no|yes        track open file descriptors? [no]
     27     --time-stamp=no|yes       add timestamps to log messages? [no]
     28     --log-fd=<number>         log messages to file descriptor [2=stderr]
     29     --log-file=<file>         log messages to <file>
     30     --log-socket=ipaddr:port  log messages to socket ipaddr:port
     31 
     32   user options for Valgrind tools that report errors:
     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
     38     --demangle=no|yes         automatically demangle C++ names? [yes]
     39     --num-callers=<number>    show <number> callers in stack traces [12]
     40     --error-limit=no|yes      stop showing new errors if too many? [yes]
     41     --error-exitcode=<number> exit code to return if errors found [0=disable]
     42     --show-below-main=no|yes  continue stack traces below main() [no]
     43     --suppressions=<filename> suppress errors described in <filename>
     44     --gen-suppressions=no|yes|all    print suppressions for errors? [no]
     45     --db-attach=no|yes        start debugger when errors detected? [no]
     46     --db-command=<command>    command to start debugger [... -nw %f %p]
     47     --input-fd=<number>       file descriptor for input [0=stdin]
     48     --dsymutil=no|yes         run dsymutil on Mac OS X when helpful? [no]
     49     --max-stackframe=<number> assume stack switch for SP changes larger
     50                               than <number> bytes [2000000]
     51     --main-stacksize=<number> set size of main thread's stack (in bytes)
     52                               [min(max(current 'ulimit' value,1MB),16MB)]
     53 
     54   user options for Valgrind tools that replace malloc:
     55     --alignment=<number>      set minimum alignment of heap allocations [not used by this tool]
     56     --redzone-size=<number>   set minimum size of redzones added before/after
     57                               heap blocks (in bytes). [not used by this tool]
     58 
     59   uncommon user options for all Valgrind tools:
     60     --fullpath-after=         (with nothing after the '=')
     61                               show full source paths in call stacks
     62     --fullpath-after=string   like --fullpath-after=, but only show the
     63                               part of the path after 'string'.  Allows removal
     64                               of path prefixes.  Use this flag multiple times
     65                               to specify a set of prefixes to remove.
     66     --extra-debuginfo-path=path    absolute path to search for additional
     67                               debug symbols, in addition to existing default
     68                               well known search paths.
     69     --debuginfo-server=ipaddr:port    also query this server
     70                               (valgrind-di-server) for debug symbols
     71     --allow-mismatched-debuginfo=no|yes  [no]
     72                               for the above two flags only, accept debuginfo
     73                               objects that don't "match" the main object
     74     --smc-check=none|stack|all|all-non-file [stack]
     75                               checks for self-modifying code: none, only for
     76                               code found in stacks, for all code, or for all
     77                               code except that from file-backed mappings
     78     --read-var-info=yes|no    read debug info on stack and global variables
     79                               and use it to print better error messages in
     80                               tools that make use of it (Memcheck, Helgrind,
     81                               DRD) [no]
     82     --vgdb-poll=<number>      gdbserver poll max every <number> basic blocks [5000]
     83     --vgdb-shadow-registers=no|yes   let gdb see the shadow registers [no]
     84     --vgdb-prefix=<prefix>    prefix for vgdb FIFOs [/tmp/vgdb-pipe]
     85     --run-libc-freeres=no|yes free up glibc memory at exit on Linux? [yes]
     86     --sim-hints=hint1,hint2,...  known hints:
     87                                  lax-ioctls, enable-outer, fuse-compatible [none]
     88     --fair-sched=no|yes|try   schedule threads fairly on multicore systems [no]
     89     --kernel-variant=variant1,variant2,...  known variants: bproc [none]
     90                               handle non-standard kernel variants
     91     --merge-recursive-frames=<number>  merge frames between identical
     92            program counters in max <number> frames) [0]
     93     --num-transtab-sectors=<number> size of translated code cache [16]
     94            more sectors may increase performance, but use more memory.
     95     --aspace-minaddr=0xPP     avoid mapping memory below 0xPP [guessed]
     96     --show-emwarns=no|yes     show warnings about emulation limits? [no]
     97     --require-text-symbol=:sonamepattern:symbolpattern    abort run if the
     98                               stated shared object doesn't have the stated
     99                               text symbol.  Patterns can contain ? and *.
    100     --soname-synonyms=syn1=pattern1,syn2=pattern2,... synonym soname
    101               specify patterns for function wrapping or replacement.
    102               To use a non-libc malloc library that is
    103                   in the main exe:  --soname-synonyms=somalloc=NONE
    104                   in libxyzzy.so:   --soname-synonyms=somalloc=libxyzzy.so
    105     --sigill-diagnostics=yes|no  warn about illegal instructions? [yes]
    106     --unw-stack-scan-thresh=<number>   Enable stack-scan unwind if fewer
    107                   than <number> good frames found  [0, meaning "disabled"]
    108                   NOTE: stack scanning is only available on arm-linux.
    109     --unw-stack-scan-frames=<number>   Max number of frames that can be
    110                   recovered by stack scanning [5]
    111 
    112   user options for Nulgrind:
    113     (none)
    114 
    115   debugging options for all Valgrind tools:
    116     -d                        show verbose debugging output
    117     --stats=no|yes            show tool and core statistics [no]
    118     --sanity-level=<number>   level of sanity checking to do [1]
    119     --trace-flags=<XXXXXXXX>   show generated code? (X = 0|1) [00000000]
    120     --profile-flags=<XXXXXXXX> ditto, but for profiling (X = 0|1) [00000000]
    121     --profile-interval=<number> show profile every <number> event checks
    122                                 [0, meaning only at the end of the run]
    123     --trace-notbelow=<number> only show BBs above <number> [999999999]
    124     --trace-notabove=<number> only show BBs below <number> [0]
    125     --trace-syscalls=no|yes   show all system calls? [no]
    126     --trace-signals=no|yes    show signal handling details? [no]
    127     --trace-symtab=no|yes     show symbol table details? [no]
    128     --trace-symtab-patt=<patt> limit debuginfo tracing to obj name <patt>
    129     --trace-cfi=no|yes        show call-frame-info details? [no]
    130     --debug-dump=syms         mimic /usr/bin/readelf --syms
    131     --debug-dump=line         mimic /usr/bin/readelf --debug-dump=line
    132     --debug-dump=frames       mimic /usr/bin/readelf --debug-dump=frames
    133     --trace-redir=no|yes      show redirection details? [no]
    134     --trace-sched=no|yes      show thread scheduler details? [no]
    135     --profile-heap=no|yes     profile Valgrind's own space use
    136     --core-redzone-size=<number>  set minimum size of redzones added before/after
    137                               heap blocks allocated for Valgrind internal use (in bytes) [4]
    138     --wait-for-gdb=yes|no     pause on startup to wait for gdb attach
    139     --sym-offsets=yes|no      show syms in form 'name+offset' ? [no]
    140     --command-line-only=no|yes  only use command line options [no]
    141 
    142   Vex options for all Valgrind tools:
    143     --vex-iropt-verbosity=<0..9>           [0]
    144     --vex-iropt-level=<0..2>               [2]
    145     --vex-iropt-register-updates=sp-at-mem-access
    146                                 |unwindregs-at-mem-access
    147                                 |allregs-at-mem-access
    148                                 |allregs-at-each-insn  [unwindregs-at-mem-access]
    149     --vex-iropt-unroll-thresh=<0..400>     [120]
    150     --vex-guest-max-insns=<1..100>         [50]
    151     --vex-guest-chase-thresh=<0..99>       [10]
    152     --vex-guest-chase-cond=no|yes          [no]
    153     --trace-flags and --profile-flags values (omit the middle space):
    154        1000 0000   show conversion into IR
    155        0100 0000   show after initial opt
    156        0010 0000   show after instrumentation
    157        0001 0000   show after second opt
    158        0000 1000   show after tree building
    159        0000 0100   show selecting insns
    160        0000 0010   show after reg-alloc
    161        0000 0001   show final assembly
    162        0000 0000   show summary profile only
    163       (Nb: you need --trace-notbelow and/or --trace-notabove
    164            with --trace-flags for full details)
    165 
    166   debugging options for Valgrind tools that report errors
    167     --dump-error=<number>     show translation for basic block associated
    168                               with <number>'th error context [0=show none]
    169 
    170   debugging options for Valgrind tools that replace malloc:
    171     --trace-malloc=no|yes     show client malloc details? [no]
    172 
    173   debugging options for Nulgrind:
    174     (none)
    175 
    176   Extra options read from ~/.valgrindrc, $VALGRIND_OPTS, ./.valgrindrc
    177 
    178   Nulgrind is Copyright (C) 2002-2013, and GNU GPL'd, by Nicholas Nethercote.
    179   Valgrind is Copyright (C) 2000-2013, and GNU GPL'd, by Julian Seward et al.
    180   LibVEX is Copyright (C) 2004-2013, and GNU GPL'd, by OpenWorks LLP et al.
    181 
    182   Bug reports, feedback, admiration, abuse, etc, to: www.valgrind.org.
    183 
    184