Advertisement
adde88

valgrind

Oct 1st, 2019
248
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 12.35 KB | None | 0 0
  1. {root@Pineapple:src_0}$ valgrind --help
  2. usage: valgrind [options] prog-and-args
  3.  
  4. tool-selection option, with default in [ ]:
  5. --tool=<name> use the Valgrind tool named <name> [memcheck]
  6.  
  7. basic user options for all Valgrind tools, with defaults in [ ]:
  8. -h --help show this message
  9. --help-debug show this message, plus debugging options
  10. --version show version
  11. -q --quiet run silently; only print error msgs
  12. -v --verbose be more verbose -- show misc extra info
  13. --trace-children=no|yes Valgrind-ise child processes (follow execve)? [no]
  14. --trace-children-skip=patt1,patt2,... specifies a list of executables
  15. that --trace-children=yes should not trace into
  16. --trace-children-skip-by-arg=patt1,patt2,... same as --trace-children-skip=
  17. but check the argv[] entries for children, rather
  18. than the exe name, to make a follow/no-follow decision
  19. --child-silent-after-fork=no|yes omit child output between fork & exec? [no]
  20. --vgdb=no|yes|full activate gdbserver? [yes]
  21. full is slower but provides precise watchpoint/step
  22. --vgdb-error=<number> invoke gdbserver after <number> errors [999999999]
  23. to get started quickly, use --vgdb-error=0
  24. and follow the on-screen directions
  25. --vgdb-stop-at=event1,event2,... invoke gdbserver for given events [none]
  26. where event is one of:
  27. startup exit valgrindabexit all none
  28. --track-fds=no|yes track open file descriptors? [no]
  29. --time-stamp=no|yes add timestamps to log messages? [no]
  30. --log-fd=<number> log messages to file descriptor [2=stderr]
  31. --log-file=<file> log messages to <file>
  32. --log-socket=ipaddr:port log messages to socket ipaddr:port
  33.  
  34. user options for Valgrind tools that report errors:
  35. --xml=yes emit error output in XML (some tools only)
  36. --xml-fd=<number> XML output to file descriptor
  37. --xml-file=<file> XML output to <file>
  38. --xml-socket=ipaddr:port XML output to socket ipaddr:port
  39. --xml-user-comment=STR copy STR verbatim into XML output
  40. --demangle=no|yes automatically demangle C++ names? [yes]
  41. --num-callers=<number> show <number> callers in stack traces [12]
  42. --error-limit=no|yes stop showing new errors if too many? [yes]
  43. --exit-on-first-error=no|yes exit code on the first error found? [no]
  44. --error-exitcode=<number> exit code to return if errors found [0=disable]
  45. --error-markers=<begin>,<end> add lines with begin/end markers before/after
  46. each error output in plain text mode [none]
  47. --show-error-list=no|yes show detected errors list and
  48. suppression counts at exit [no]
  49. -s same as --show-error-list=yes
  50. --keep-debuginfo=no|yes Keep symbols etc for unloaded code [no]
  51. This allows saved stack traces (e.g. memory leaks)
  52. to include file/line info for code that has been
  53. dlclose'd (or similar)
  54. --show-below-main=no|yes continue stack traces below main() [no]
  55. --default-suppressions=yes|no
  56. load default suppressions [yes]
  57. --suppressions=<filename> suppress errors described in <filename>
  58. --gen-suppressions=no|yes|all print suppressions for errors? [no]
  59. --input-fd=<number> file descriptor for input [0=stdin]
  60. --dsymutil=no|yes run dsymutil on Mac OS X when helpful? [yes]
  61. --max-stackframe=<number> assume stack switch for SP changes larger
  62. than <number> bytes [2000000]
  63. --main-stacksize=<number> set size of main thread's stack (in bytes)
  64. [min(max(current 'ulimit' value,1MB),16MB)]
  65.  
  66. user options for Valgrind tools that replace malloc:
  67. --alignment=<number> set minimum alignment of heap allocations [8]
  68. --redzone-size=<number> set minimum size of redzones added before/after
  69. heap blocks (in bytes). [16]
  70. --xtree-memory=none|allocs|full profile heap memory in an xtree [none]
  71. and produces a report at the end of the execution
  72. none: no profiling, allocs: current allocated
  73. size/blocks, full: profile current and cumulative
  74. allocated size/blocks and freed size/blocks.
  75. --xtree-memory-file=<file> xtree memory report file [xtmemory.kcg.%p]
  76.  
  77. uncommon user options for all Valgrind tools:
  78. --fullpath-after= (with nothing after the '=')
  79. show full source paths in call stacks
  80. --fullpath-after=string like --fullpath-after=, but only show the
  81. part of the path after 'string'. Allows removal
  82. of path prefixes. Use this flag multiple times
  83. to specify a set of prefixes to remove.
  84. --extra-debuginfo-path=path absolute path to search for additional
  85. debug symbols, in addition to existing default
  86. well known search paths.
  87. --debuginfo-server=ipaddr:port also query this server
  88. (valgrind-di-server) for debug symbols
  89. --allow-mismatched-debuginfo=no|yes [no]
  90. for the above two flags only, accept debuginfo
  91. objects that don't "match" the main object
  92. --smc-check=none|stack|all|all-non-file [all-non-file]
  93. checks for self-modifying code: none, only for
  94. code found in stacks, for all code, or for all
  95. code except that from file-backed mappings
  96. --read-inline-info=yes|no read debug info about inlined function calls
  97. and use it to do better stack traces.
  98. [yes] on Linux/Android/Solaris for the tools
  99. Memcheck/Massif/Helgrind/DRD only.
  100. [no] for all other tools and platforms.
  101. --read-var-info=yes|no read debug info on stack and global variables
  102. and use it to print better error messages in
  103. tools that make use of it (Memcheck, Helgrind,
  104. DRD) [no]
  105. --vgdb-poll=<number> gdbserver poll max every <number> basic blocks [5000]
  106. --vgdb-shadow-registers=no|yes let gdb see the shadow registers [no]
  107. --vgdb-prefix=<prefix> prefix for vgdb FIFOs [/tmp/vgdb-pipe]
  108. --run-libc-freeres=no|yes free up glibc memory at exit on Linux? [yes]
  109. --run-cxx-freeres=no|yes free up libstdc++ memory at exit on Linux
  110. and Solaris? [yes]
  111. --sim-hints=hint1,hint2,... activate unusual sim behaviours [none]
  112. where hint is one of:
  113. lax-ioctls lax-doors fuse-compatible enable-outer
  114. no-inner-prefix no-nptl-pthread-stackcache fallback-llsc none
  115. --fair-sched=no|yes|try schedule threads fairly on multicore systems [no]
  116. --kernel-variant=variant1,variant2,...
  117. handle non-standard kernel variants [none]
  118. where variant is one of:
  119. bproc android-no-hw-tls
  120. android-gpu-sgx5xx android-gpu-adreno3xx none
  121. --merge-recursive-frames=<number> merge frames between identical
  122. program counters in max <number> frames) [0]
  123. --num-transtab-sectors=<number> size of translated code cache [32]
  124. more sectors may increase performance, but use more memory.
  125. --avg-transtab-entry-size=<number> avg size in bytes of a translated
  126. basic block [0, meaning use tool provided default]
  127. --aspace-minaddr=0xPP avoid mapping memory below 0xPP [guessed]
  128. --valgrind-stacksize=<number> size of valgrind (host) thread's stack
  129. (in bytes) [1048576]
  130. --show-emwarns=no|yes show warnings about emulation limits? [no]
  131. --require-text-symbol=:sonamepattern:symbolpattern abort run if the
  132. stated shared object doesn't have the stated
  133. text symbol. Patterns can contain ? and *.
  134. --soname-synonyms=syn1=pattern1,syn2=pattern2,... synonym soname
  135. specify patterns for function wrapping or replacement.
  136. To use a non-libc malloc library that is
  137. in the main exe: --soname-synonyms=somalloc=NONE
  138. in libxyzzy.so: --soname-synonyms=somalloc=libxyzzy.so
  139. --sigill-diagnostics=yes|no warn about illegal instructions? [yes]
  140. --unw-stack-scan-thresh=<number> Enable stack-scan unwind if fewer
  141. than <number> good frames found [0, meaning "disabled"]
  142. NOTE: stack scanning is only available on arm-linux.
  143. --unw-stack-scan-frames=<number> Max number of frames that can be
  144. recovered by stack scanning [5]
  145. --resync-filter=no|yes|verbose [yes on MacOS, no on other OSes]
  146. attempt to avoid expensive address-space-resync operations
  147. --max-threads=<number> maximum number of threads that valgrind can
  148. handle [500]
  149.  
  150. user options for Memcheck:
  151. --leak-check=no|summary|full search for memory leaks at exit? [summary]
  152. --leak-resolution=low|med|high differentiation of leak stack traces [high]
  153. --show-leak-kinds=kind1,kind2,.. which leak kinds to show?
  154. [definite,possible]
  155. --errors-for-leak-kinds=kind1,kind2,.. which leak kinds are errors?
  156. [definite,possible]
  157. where kind is one of:
  158. definite indirect possible reachable all none
  159. --leak-check-heuristics=heur1,heur2,... which heuristics to use for
  160. improving leak search false positive [all]
  161. where heur is one of:
  162. stdstring length64 newarray multipleinheritance all none
  163. --show-reachable=yes same as --show-leak-kinds=all
  164. --show-reachable=no --show-possibly-lost=yes
  165. same as --show-leak-kinds=definite,possible
  166. --show-reachable=no --show-possibly-lost=no
  167. same as --show-leak-kinds=definite
  168. --xtree-leak=no|yes output leak result in xtree format? [no]
  169. --xtree-leak-file=<file> xtree leak report file [xtleak.kcg.%p]
  170. --undef-value-errors=no|yes check for undefined value errors [yes]
  171. --track-origins=no|yes show origins of undefined values? [no]
  172. --partial-loads-ok=no|yes too hard to explain here; see manual [yes]
  173. --expensive-definedness-checks=no|auto|yes
  174. Use extra-precise definedness tracking [auto]
  175. --freelist-vol=<number> volume of freed blocks queue [20000000]
  176. --freelist-big-blocks=<number> releases first blocks with size>= [1000000]
  177. --workaround-gcc296-bugs=no|yes self explanatory [no]. Deprecated.
  178. Use --ignore-range-below-sp instead.
  179. --ignore-ranges=0xPP-0xQQ[,0xRR-0xSS] assume given addresses are OK
  180. --ignore-range-below-sp=<number>-<number> do not report errors for
  181. accesses at the given offsets below SP
  182. --malloc-fill=<hexnumber> fill malloc'd areas with given value
  183. --free-fill=<hexnumber> fill free'd areas with given value
  184. --keep-stacktraces=alloc|free|alloc-and-free|alloc-then-free|none
  185. stack trace(s) to keep for malloc'd/free'd areas [alloc-and-free]
  186. --show-mismatched-frees=no|yes show frees that don't match the allocator? [yes]
  187.  
  188. Extra options read from ~/.valgrindrc, $VALGRIND_OPTS, ./.valgrindrc
  189.  
  190. Memcheck is Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al.
  191. Valgrind is Copyright (C) 2000-2017, and GNU GPL'd, by Julian Seward et al.
  192. LibVEX is Copyright (C) 2004-2017, and GNU GPL'd, by OpenWorks LLP et al.
  193.  
  194. Bug reports, feedback, admiration, abuse, etc, to: www.valgrind.org.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement