usage: valgrind [options] prog-and-args

  tool-selection option, with default in [ ]:
    --tool=<name>             use the Valgrind tool named <name> [memcheck]

  basic user options for all Valgrind tools, with defaults in [ ]:
    -h --help                 show this message
    --help-debug              show this message, plus debugging options
    --version                 show version
    -q --quiet                run silently; only print error msgs
    -v --verbose              be more verbose -- show misc extra info
    --trace-children=no|yes   Valgrind-ise child processes (follow execve)? [no]
    --trace-children-skip=patt1,patt2,...    specifies a list of executables
                              that --trace-children=yes should not trace into
    --trace-children-skip-by-arg=patt1,patt2,...   same as --trace-children-skip=
                              but check the argv[] entries for children, rather
                              than the exe name, to make a follow/no-follow decision
    --child-silent-after-fork=no|yes omit child output between fork & exec? [no]
    --vgdb=no|yes|full        activate gdbserver? [yes]
                              full is slower but provides precise watchpoint/step
    --vgdb-error=<number>     invoke gdbserver after <number> errors [999999999]
                              to get started quickly, use --vgdb-error=0
                              and follow the on-screen directions
    --vgdb-stop-at=event1,event2,... invoke gdbserver for given events [none]
         where event is one of:
           startup exit valgrindabexit all none
    --track-fds=no|yes        track open file descriptors? [no]
    --time-stamp=no|yes       add timestamps to log messages? [no]
    --log-fd=<number>         log messages to file descriptor [2=stderr]
    --log-file=<file>         log messages to <file>
    --log-socket=ipaddr:port  log messages to socket ipaddr:port

  user options for Valgrind tools that report errors:
    --xml=yes                 emit error output in XML (some tools only)
    --xml-fd=<number>         XML output to file descriptor
    --xml-file=<file>         XML output to <file>
    --xml-socket=ipaddr:port  XML output to socket ipaddr:port
    --xml-user-comment=STR    copy STR verbatim into XML output
    --demangle=no|yes         automatically demangle C++ names? [yes]
    --num-callers=<number>    show <number> callers in stack traces [12]
    --error-limit=no|yes      stop showing new errors if too many? [yes]
    --error-exitcode=<number> exit code to return if errors found [0=disable]
    --error-markers=<begin>,<end> add lines with begin/end markers before/after
                              each error output in plain text mode [none]
    --show-below-main=no|yes  continue stack traces below main() [no]
    --default-suppressions=yes|no
                              load default suppressions [yes]
    --suppressions=<filename> suppress errors described in <filename>
    --gen-suppressions=no|yes|all    print suppressions for errors? [no]
    --db-attach=no|yes        start debugger when errors detected? [no]
                              Note: deprecated feature
    --db-command=<command>    command to start debugger [... -nw %f %p]
    --input-fd=<number>       file descriptor for input [0=stdin]
    --dsymutil=no|yes         run dsymutil on Mac OS X when helpful? [no]
    --max-stackframe=<number> assume stack switch for SP changes larger
                              than <number> bytes [2000000]
    --main-stacksize=<number> set size of main thread's stack (in bytes)
                              [min(max(current 'ulimit' value,1MB),16MB)]

  user options for Valgrind tools that replace malloc:
    --alignment=<number>      set minimum alignment of heap allocations [not used by this tool]
    --redzone-size=<number>   set minimum size of redzones added before/after
                              heap blocks (in bytes). [not used by this tool]

  uncommon user options for all Valgrind tools:
    --fullpath-after=         (with nothing after the '=')
                              show full source paths in call stacks
    --fullpath-after=string   like --fullpath-after=, but only show the
                              part of the path after 'string'.  Allows removal
                              of path prefixes.  Use this flag multiple times
                              to specify a set of prefixes to remove.
    --extra-debuginfo-path=path    absolute path to search for additional
                              debug symbols, in addition to existing default
                              well known search paths.
    --debuginfo-server=ipaddr:port    also query this server
                              (valgrind-di-server) for debug symbols
    --allow-mismatched-debuginfo=no|yes  [no]
                              for the above two flags only, accept debuginfo
                              objects that don't "match" the main object
    --smc-check=none|stack|all|all-non-file [stack]
                              checks for self-modifying code: none, only for
                              code found in stacks, for all code, or for all
                              code except that from file-backed mappings
    --read-inline-info=yes|no read debug info about inlined function calls
                              and use it to do better stack traces.  [yes]
                              on Linux/Android for Memcheck/Helgrind/DRD
                              only.  [no] for all other tools and platforms.
    --read-var-info=yes|no    read debug info on stack and global variables
                              and use it to print better error messages in
                              tools that make use of it (Memcheck, Helgrind,
                              DRD) [no]
    --vgdb-poll=<number>      gdbserver poll max every <number> basic blocks [5000] 
    --vgdb-shadow-registers=no|yes   let gdb see the shadow registers [no]
    --vgdb-prefix=<prefix>    prefix for vgdb FIFOs [.../vgdb-pipe]
    --run-libc-freeres=no|yes free up glibc memory at exit on Linux? [yes]
    --sim-hints=hint1,hint2,...  activate unusual sim behaviours [none] 
         where hint is one of:
           lax-ioctls fuse-compatible enable-outer
           no-inner-prefix no-nptl-pthread-stackcache none
    --fair-sched=no|yes|try   schedule threads fairly on multicore systems [no]
    --kernel-variant=variant1,variant2,...
         handle non-standard kernel variants [none]
         where variant is one of:
           bproc android-no-hw-tls
           android-gpu-sgx5xx android-gpu-adreno3xx none
    --merge-recursive-frames=<number>  merge frames between identical
           program counters in max <number> frames) [0]
    --num-transtab-sectors=<number> size of translated code cache [16]
           more sectors may increase performance, but use more memory.
    --avg-transtab-entry-size=<number> avg size in bytes of a translated
           basic block [0, meaning use tool provided default]
    --aspace-minaddr=0xPP     avoid mapping memory below 0xPP [guessed]
    --valgrind-stacksize=<number> size of valgrind (host) thread's stack
                               (in bytes) [1048576]
    --show-emwarns=no|yes     show warnings about emulation limits? [no]
    --require-text-symbol=:sonamepattern:symbolpattern    abort run if the
                              stated shared object doesn't have the stated
                              text symbol.  Patterns can contain ? and *.
    --soname-synonyms=syn1=pattern1,syn2=pattern2,... synonym soname
              specify patterns for function wrapping or replacement.
              To use a non-libc malloc library that is
                  in the main exe:  --soname-synonyms=somalloc=NONE
                  in libxyzzy.so:   --soname-synonyms=somalloc=libxyzzy.so
    --sigill-diagnostics=yes|no  warn about illegal instructions? [yes]
    --unw-stack-scan-thresh=<number>   Enable stack-scan unwind if fewer
                  than <number> good frames found  [0, meaning "disabled"]
                  NOTE: stack scanning is only available on arm-linux.
    --unw-stack-scan-frames=<number>   Max number of frames that can be
                  recovered by stack scanning [5]
    --resync-filter=no|yes|verbose [yes on MacOS, no on other OSes]
              attempt to avoid expensive address-space-resync operations
    --max-threads=<number>    maximum number of threads that valgrind can
                              handle [500]

  user options for Nulgrind:
    (none)

  debugging options for all Valgrind tools:
    -d                        show verbose debugging output
    --stats=no|yes            show tool and core statistics [no]
    --sanity-level=<number>   level of sanity checking to do [1]
    --trace-flags=<XXXXXXXX>   show generated code? (X = 0|1) [00000000]
    --profile-flags=<XXXXXXXX> ditto, but for profiling (X = 0|1) [00000000]
    --profile-interval=<number> show profile every <number> event checks
                                [0, meaning only at the end of the run]
    --trace-notbelow=<number> only show BBs above <number> [999999999]
    --trace-notabove=<number> only show BBs below <number> [0]
    --trace-syscalls=no|yes   show all system calls? [no]
    --trace-signals=no|yes    show signal handling details? [no]
    --trace-symtab=no|yes     show symbol table details? [no]
    --trace-symtab-patt=<patt> limit debuginfo tracing to obj name <patt>
    --trace-cfi=no|yes        show call-frame-info details? [no]
    --debug-dump=syms         mimic /usr/bin/readelf --syms
    --debug-dump=line         mimic /usr/bin/readelf --debug-dump=line
    --debug-dump=frames       mimic /usr/bin/readelf --debug-dump=frames
    --trace-redir=no|yes      show redirection details? [no]
    --trace-sched=no|yes      show thread scheduler details? [no]
    --profile-heap=no|yes     profile Valgrind's own space use
    --core-redzone-size=<number>  set minimum size of redzones added before/after
                              heap blocks allocated for Valgrind internal use (in bytes) [4]
    --wait-for-gdb=yes|no     pause on startup to wait for gdb attach
    --sym-offsets=yes|no      show syms in form 'name+offset' ? [no]
    --command-line-only=no|yes  only use command line options [no]

  Vex options for all Valgrind tools:
    --vex-iropt-verbosity=<0..9>           [0]
    --vex-iropt-level=<0..2>               [2]
    --vex-iropt-unroll-thresh=<0..400>     [120]
    --vex-guest-max-insns=<1..100>         [50]
    --vex-guest-chase-thresh=<0..99>       [10]
    --vex-guest-chase-cond=no|yes          [no]
    Precise exception control.  Possible values for 'mode' are as follows
      and specify the minimum set of registers guaranteed to be correct
      immediately prior to memory access instructions:
         sp-at-mem-access          stack pointer only
         unwindregs-at-mem-access  registers needed for stack unwinding
         allregs-at-mem-access     all registers
         allregs-at-each-insn      all registers are always correct
      Default value for all 3 following flags is [unwindregs-at-mem-access].
      --vex-iropt-register-updates=mode   setting to use by default
      --px-default=mode      synonym for --vex-iropt-register-updates
      --px-file-backed=mode  optional setting for file-backed (non-JIT) code
    Tracing and profile control:
      --trace-flags and --profile-flags values (omit the middle space):
         1000 0000   show conversion into IR
         0100 0000   show after initial opt
         0010 0000   show after instrumentation
         0001 0000   show after second opt
         0000 1000   show after tree building
         0000 0100   show selecting insns
         0000 0010   show after reg-alloc
         0000 0001   show final assembly
         0000 0000   show summary profile only
        (Nb: you need --trace-notbelow and/or --trace-notabove
             with --trace-flags for full details)

  debugging options for Valgrind tools that report errors
    --dump-error=<number>     show translation for basic block associated
                              with <number>'th error context [0=show none]

  debugging options for Valgrind tools that replace malloc:
    --trace-malloc=no|yes     show client malloc details? [no]

  debugging options for Nulgrind:
    (none)

  Extra options read from ~/.valgrindrc, $VALGRIND_OPTS, ./.valgrindrc

  Nulgrind is Copyright (C) 2002-2013, and GNU GPL'd, by Nicholas Nethercote.
  Valgrind is Copyright (C) 2000-2013, and GNU GPL'd, by Julian Seward et al.
  LibVEX is Copyright (C) 2004-2013, and GNU GPL'd, by OpenWorks LLP et al.

  Bug reports, feedback, admiration, abuse, etc, to: www.valgrind.org.

