usage: valgrind [options] prog-and-args

  common user options for all Valgrind tools, with defaults in [ ]:
    --tool=<name>             use the Valgrind tool named <name> [memcheck]
    -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, incl counts of errors
    --trace-children=no|yes   Valgrind-ise child processes (follow execve)? [no]
    --child-silent-after-fork=no|yes  omit child output between fork & exec? [no]
    --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

  uncommon user options for all Valgrind tools:
    --run-libc-freeres=no|yes free up glibc memory at exit? [yes]
    --sim-hints=hint1,hint2,...  known hints:
                                 lax-ioctls, enable-outer [none]
    --show-emwarns=no|yes     show warnings about emulation limits? [no]
    --smc-check=none|stack|all  checks for self-modifying code: none,
                              only for code found in stacks, or all [stack]
    --kernel-variant=variant1,variant2,...  known variants: bproc [none]
                              handle non-standard kernel variants
    --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)

  user options for Valgrind tools that report errors:
    --xml=yes                 all output is in XML (some tools only)
    --xml-user-comment=STR    copy STR verbatim to 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]
    --show-below-main=no|yes  continue stack traces below main() [no]
    --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]
    --db-command=<command>    command to start debugger [/usr/bin/gdb -nw %f %p]
    --input-fd=<number>       file descriptor for input [0=stdin]
    --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)
                              [use current 'ulimit' value]

  user options for Nulgrind:
    (none)

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

  Valgrind is Copyright (C) 2000-2009 Julian Seward et al.
  and licensed under the GNU General Public License, version 2.
  Bug reports, feedback, admiration, abuse, etc, to: www.valgrind.org.

  Tools are copyright and licensed by their authors.  See each
  tool's start-up message for more information.

