FreeBSD: add file descriptor tracking for _umtx_op
[valgrind.git] / none / tests / cmdline2.stdout.exp
blobc4dc05f1875962f062fafe2923aedbfe7641c399
1 usage: valgrind [options] prog-and-args
3   tool-selection option, with default in [ ]:
4     --tool=<name>             use the Valgrind tool named <name> [memcheck]
5                               available tools are:
6                               memcheck cachegrind callgrind helgrind drd
7                               massif dhat lackey none exp-bbv
9   basic user options for all Valgrind tools, with defaults in [ ]:
10     -h --help                 show this message
11     --help-debug              show this message, plus debugging options
12     --help-dyn-options        show the dynamically changeable options
13     --version                 show version
14     -q --quiet                run silently; only print error msgs
15     -v --verbose              be more verbose -- show misc extra info
16     --trace-children=no|yes   Valgrind-ise child processes (follow execve)? [no]
17     --trace-children-skip=patt1,patt2,...    specifies a list of executables
18                               that --trace-children=yes should not trace into
19     --trace-children-skip-by-arg=patt1,patt2,...   same as --trace-children-skip=
20                               but check the argv[] entries for children, rather
21                               than the exe name, to make a follow/no-follow decision
22     --child-silent-after-fork=no|yes omit child output between fork & exec? [no]
23     --vgdb=no|yes|full        activate gdbserver? [yes]
24                               full is slower but provides precise watchpoint/step
25     --vgdb-error=<number>     invoke gdbserver after <number> errors [999999999]
26                               to get started quickly, use --vgdb-error=0
27                               and follow the on-screen directions
28     --vgdb-stop-at=event1,event2,... invoke gdbserver for given events [none]
29          where event is one of:
30            startup exit abexit valgrindabexit all none
31     --track-fds=no|yes|all    track open file descriptors? [no]
32                               all includes reporting stdin, stdout and stderr
33     --time-stamp=no|yes       add timestamps to log messages? [no]
34     --log-fd=<number>         log messages to file descriptor [2=stderr]
35     --log-file=<file>         log messages to <file>
36     --log-socket=ipaddr:port  log messages to socket ipaddr:port
37     --enable-debuginfod=no|yes query debuginfod servers for missing
38                               debuginfo [yes]
40   user options for Valgrind tools that report errors:
41     --xml=yes                 emit error output in XML (some tools only)
42     --xml-fd=<number>         XML output to file descriptor
43     --xml-file=<file>         XML output to <file>
44     --xml-socket=ipaddr:port  XML output to socket ipaddr:port
45     --xml-user-comment=STR    copy STR verbatim into XML output
46     --demangle=no|yes         automatically demangle C++ names? [yes]
47     --num-callers=<number>    show <number> callers in stack traces [12]
48     --error-limit=no|yes      stop showing new errors if too many? [yes]
49     --exit-on-first-error=no|yes exit code on the first error found? [no]
50     --error-exitcode=<number> exit code to return if errors found [0=disable]
51     --error-markers=<begin>,<end> add lines with begin/end markers before/after
52                               each error output in plain text mode [none]
53     --show-error-list=no|yes|all  show detected errors list and
54                               suppression counts at exit [no].
55                               all means to also print suppressed errors.
56     -s                        same as --show-error-list=yes
57     --keep-debuginfo=no|yes   Keep symbols etc for unloaded code [no]
58                               This allows saved stack traces (e.g. memory leaks)
59                               to include file/line info for code that has been
60                               dlclose'd (or similar)
61     --show-below-main=no|yes  continue stack traces below main() [no]
62     --default-suppressions=yes|no
63                               load default suppressions [yes]
64     --suppressions=<filename> suppress errors described in <filename>
65     --gen-suppressions=no|yes|all    print suppressions for errors? [no]
66     --input-fd=<number>       file descriptor for input [0=stdin]
67     --dsymutil=no|yes         run dsymutil on Mac OS X when helpful? [yes]
68     --max-stackframe=<number> assume stack switch for SP changes larger
69                               than <number> bytes [2000000]
70     --main-stacksize=<number> set size of main thread's stack (in bytes)
71                               [min(max(current 'ulimit' value,1MB),16MB)]
73   user options for Valgrind tools that replace malloc:
74     --alignment=<number>      set minimum alignment of heap allocations [not used by this tool]
75     --redzone-size=<number>   set minimum size of redzones added before/after
76                               heap blocks (in bytes). [not used by this tool]
77     --xtree-memory=none|allocs|full   profile heap memory in an xtree [none]
78                               and produces a report at the end of the execution
79                               none: no profiling, allocs: current allocated
80                               size/blocks, full: profile current and cumulative
81                               allocated size/blocks and freed size/blocks.
82     --xtree-memory-file=<file>   xtree memory report file [xtmemory.kcg.%p]
83     --realloc-zero-bytes-frees=yes|no [yes on Linux glibc, no otherwise]
84                               should calls to realloc with a size of 0
85                               free memory and return NULL or
86                               allocate/resize and return non-NULL
88   uncommon user options for all Valgrind tools:
89     --fullpath-after=         (with nothing after the '=')
90                               show full source paths in call stacks
91     --fullpath-after=string   like --fullpath-after=, but only show the
92                               part of the path after 'string'.  Allows removal
93                               of path prefixes.  Use this flag multiple times
94                               to specify a set of prefixes to remove.
95     --extra-debuginfo-path=path    absolute path to search for additional
96                               debug symbols, in addition to existing default
97                               well known search paths.
98     --debuginfo-server=ipaddr:port    also query this server
99                               (valgrind-di-server) for debug symbols
100     --allow-mismatched-debuginfo=no|yes  [no]
101                               for the above two flags only, accept debuginfo
102                               objects that don't "match" the main object
103     --smc-check=none|stack|all|all-non-file [all-non-file]
104                               checks for self-modifying code: none, only for
105                               code found in stacks, for all code, or for all
106                               code except that from file-backed mappings
107     --read-inline-info=yes|no read debug info about inlined function calls
108                               and use it to do better stack traces.
109                               [yes] on Linux/Android/Solaris for the tools
110                               Memcheck/Massif/Helgrind/DRD only.
111                               [no] for all other tools and platforms.
112     --read-var-info=yes|no    read debug info on stack and global variables
113                               and use it to print better error messages in
114                               tools that make use of it (Memcheck, Helgrind,
115                               DRD) [no]
116     --vgdb-poll=<number>      gdbserver poll max every <number> basic blocks [5000] 
117     --vgdb-shadow-registers=no|yes   let gdb see the shadow registers [no]
118     --vgdb-prefix=<prefix>    prefix for vgdb FIFOs [.../vgdb-pipe]
119     --run-libc-freeres=no|yes free up glibc memory at exit on Linux? [yes]
120     --run-cxx-freeres=no|yes  free up libstdc++ memory at exit on Linux
121                               and Solaris? [yes]
122     --sim-hints=hint1,hint2,...  activate unusual sim behaviours [none] 
123          where hint is one of:
124            lax-ioctls lax-doors fuse-compatible enable-outer
125            no-inner-prefix no-nptl-pthread-stackcache fallback-llsc none
126     --scheduling-quantum=<number>  thread-scheduling timeslice in number of
127            basic blocks [100000]
128     --fair-sched=no|yes|try   schedule threads fairly on multicore systems [no]
129     --kernel-variant=variant1,variant2,...
130          handle non-standard kernel variants [none]
131          where variant is one of:
132            bproc android-no-hw-tls
133            android-gpu-sgx5xx android-gpu-adreno3xx none
134     --merge-recursive-frames=<number>  merge frames between identical
135            program counters in max <number> frames) [0]
136     --num-transtab-sectors=<number> size of translated code cache [32]
137            more sectors may increase performance, but use more memory.
138     --avg-transtab-entry-size=<number> avg size in bytes of a translated
139            basic block [0, meaning use tool provided default]
140     --aspace-minaddr=0xPP     avoid mapping memory below 0xPP [guessed]
141     --valgrind-stacksize=<number> size of valgrind (host) thread's stack
142                                (in bytes) [1048576]
143     --show-emwarns=no|yes     show warnings about emulation limits? [no]
144     --require-text-symbol=:sonamepattern:symbolpattern    abort run if the
145                               stated shared object doesn't have the stated
146                               text symbol.  Patterns can contain ? and *.
147     --soname-synonyms=syn1=pattern1,syn2=pattern2,... synonym soname
148               specify patterns for function wrapping or replacement.
149               To use a non-libc malloc library that is
150                   in the main exe:  --soname-synonyms=somalloc=NONE
151                   in libxyzzy.so:   --soname-synonyms=somalloc=libxyzzy.so
152     --sigill-diagnostics=yes|no  warn about illegal instructions? [yes]
153     --unw-stack-scan-thresh=<number>   Enable stack-scan unwind if fewer
154                   than <number> good frames found  [0, meaning "disabled"]
155                   NOTE: stack scanning is only available on arm-linux.
156     --unw-stack-scan-frames=<number>   Max number of frames that can be
157                   recovered by stack scanning [5]
158     --resync-filter=no|yes|verbose [yes on MacOS, no on other OSes]
159               attempt to avoid expensive address-space-resync operations
160     --max-threads=<number>    maximum number of threads that valgrind can
161                               handle [500]
163   user options for Nulgrind:
164     (none)
166   debugging options for all Valgrind tools:
167     -d                        show verbose debugging output
168     --stats=no|yes            show tool and core statistics [no]
169     --sanity-level=<number>   level of sanity checking to do [1]
170                               1 - does occasional stack checking
171                               2 - more stack checks and malloc checks
172                               3 - as 2 and mmap checks
173                               4 - as 3 and translation sector checks
174     --trace-flags=<XXXXXXXX>   show generated code? (X = 0|1) [00000000]
175     --profile-flags=<XXXXXXXX> ditto, but for profiling (X = 0|1) [00000000]
176     --profile-interval=<number> show profile every <number> event checks
177                                 [0, meaning only at the end of the run]
178     --trace-notbelow=<number> only show BBs above <number> [999999999]
179     --trace-notabove=<number> only show BBs below <number> [0]
180     --trace-syscalls=no|yes   show all system calls? [no]
181     --trace-signals=no|yes    show signal handling details? [no]
182     --trace-symtab=no|yes     show symbol table details? [no]
183     --trace-symtab-patt=<patt> limit debuginfo tracing to obj name <patt>
184     --trace-cfi=no|yes        show call-frame-info details? [no]
185     --debug-dump=syms         mimic /usr/bin/readelf --syms
186     --debug-dump=line         mimic /usr/bin/readelf --debug-dump=line
187     --debug-dump=frames       mimic /usr/bin/readelf --debug-dump=frames
188     --trace-redir=no|yes      show redirection details? [no]
189     --trace-sched=no|yes      show thread scheduler details? [no]
190     --profile-heap=no|yes     profile Valgrind's own space use
191     --core-redzone-size=<number>  set minimum size of redzones added before/after
192                               heap blocks allocated for Valgrind internal use (in bytes) [4]
193     --wait-for-gdb=yes|no     pause on startup to wait for gdb attach
194     --sym-offsets=yes|no      show syms in form 'name+offset'? [no]
195     --progress-interval=<number>  report progress every <number>
196                                   CPU seconds [0, meaning disabled]
197     --command-line-only=no|yes  only use command line options [no]
199   Vex options for all Valgrind tools:
200     --vex-iropt-verbosity=<0..9>           [0]
201     --vex-iropt-level=<0..2>               [2]
202     --vex-iropt-unroll-thresh=<0..400>     [120]
203     --vex-guest-max-insns=<1..100>         [50]
204     --vex-guest-chase=no|yes               [yes]
205     Precise exception control.  Possible values for 'mode' are as follows
206       and specify the minimum set of registers guaranteed to be correct
207       immediately prior to memory access instructions:
208          sp-at-mem-access          stack pointer only
209          unwindregs-at-mem-access  registers needed for stack unwinding
210          allregs-at-mem-access     all registers
211          allregs-at-each-insn      all registers are always correct
212       Default value for all 3 following flags is [unwindregs-at-mem-access].
213       --vex-iropt-register-updates=mode   setting to use by default
214       --px-default=mode      synonym for --vex-iropt-register-updates
215       --px-file-backed=mode  optional setting for file-backed (non-JIT) code
216     Tracing and profile control:
217       --trace-flags and --profile-flags values (omit the middle space):
218          1000 0000   show conversion into IR
219          0100 0000   show after initial opt
220          0010 0000   show after instrumentation
221          0001 0000   show after second opt
222          0000 1000   show after tree building
223          0000 0100   show selecting insns
224          0000 0010   show after reg-alloc
225          0000 0001   show final assembly
226          0000 0000   show summary profile only
227         (Nb: you need --trace-notbelow and/or --trace-notabove
228              with --trace-flags for full details)
229     --vex-regalloc-version=2|3             [3]
231   debugging options for Valgrind tools that report errors
232     --dump-error=<number>     show translation for basic block associated
233                               with <number>'th error context [0=show none]
235   debugging options for Valgrind tools that replace malloc:
236     --trace-malloc=no|yes     show client malloc details? [no]
237     --xtree-compress-strings=no|yes   compress strings in xtree callgrind format [yes]
239   debugging options for Nulgrind:
240     (none)
242   Extra options read from ~/.valgrindrc, $VALGRIND_OPTS, ./.valgrindrc
244   Nulgrind is Copyright (C) 2000, and GNU GPL'd, by Nicholas Nethercote et al.
245   Valgrind is Copyright (C) 2000, and GNU GPL'd, by Julian Seward et al.
246   LibVEX is Copyright (C) 2000, and GNU GPL'd, by OpenWorks LLP et al.
248   Bug reports, feedback, admiration, abuse, etc, to: www.valgrind.org.