VALGRIND(1) VALGRIND(1) (NAME) valgrind - (SYNOPSIS) valgrind [valgrind-options] [your-program] [your-program-options] (DESCRIPTION) Valgrind () . . . . << (MEMCHECK OPTIONS)>> . . HTML $INSTALL/share/doc/valgrind/html/index.html http://www.valgrind.org/docs/manual/index.html . (TOOL SELECTION OPTIONS) . --tool= [default: memcheck] toolname memcheck cachegrind callgrind helgrind drd massif dhat lackey none exp-bbv . (BASIC OPTIONS) . -h --help . --help-debug . --help-debug --help . --version . . . . -q, --quiet . (regression tests) . -v, --verbose ( ). : . . --trace-children= [default: no] exec . . fork ( fork ) . fork exec . --trace-children-skip=patt1,patt2,... --trace-children=yes . . . ? * . . . . -- . --trace-children-skip-by-arg=patt1,patt2,... --trace-children-skip : . --child-silent-after-fork= [default: no] fork . ( ). --trace-children= . XML (--xml=yes) XML . --vgdb= [default: yes] --vgdb=yes --vgdb=full "gdbserver" . GNU GDB . --vgdb=full (breakpoints) (watchpoints) . Debugging your program using Valgrind's gdbserver and GDB . gdbserver gdb vgdb << >> (monitor commands) . . . --vgdb-error= [default: 999999999] gdbserver --vgdb=yes --vgdb=full . GDB "number" . gdbserver . GDB Massif . --vgdb-stop-at= [default: none] gdbserver --vgdb=yes --vgdb=full . gdb --vgdb-error . gdb : o startup exit abexit valgrindabexit. startup exit valgrindabexit gdbserver ( ) . abexit exit gdbserver ( ). : startup --vgdb-error=0 gdb . --vgdb-error=0 . o all . --vgdb-stop-at=startup,exit,abexit,valgrindabexit . o none . --track-fds= [default: no] gdbserver v.info open_fds . (stack backtrace) . all stdin stdout stderr . --modify-fds= [default: no] . --time-stamp= [default: no] (wallclock) . --log-fd= [default: 2, stderr] . 2 (stderr) . stderr stderr . --log-file= . (abort) . . %p (PID) . . : --trace-children=yes fork exec ( %q ) . : fork exec fork exec . posix_spawn . %n . . %q{FOO} FOO . {FOO} . ( MPI) . BPROC_RANK MPI . . { } . %% % . % . : fork exec . ( '/' ) . --log-socket= IP . 1500 . (stderr) . valgrind-listener . the commentary . --enable-debuginfod= [default: yes] $DEBUGINFOD_URLS (debuginfo) debuginfod . . (ERROR-RELATED OPTIONS) Memcheck ( Cachegrind) . --xml= [default: no] ( ) XML . XML . --xml-fd --xml-file --xml-socket XML . XML ( --log-fd --log-file --log-socket) ) . (GUI). Memcheck Helgrind DRD . docs/internals/xml-output-protocol4.txt Valgrind 3.5.0 . (GUI) XML : --xml=yes XML --xml-file XML ( GUI) --log-file GUI --child-silent-after-fork=yes -q . (suppressions) . . --xml-fd= [default: -1, disabled] XML (file descriptor) . --xml=yes . --xml-file= XML . --xml=yes . %p %q --log-file . --log-file . --xml-socket= XML () IP . --xml=yes . --log-socket . --log-socket . --xml-user-comment= XML . --xml=yes . --demangle= [default: yes] / (demangling) C++ D Rust Java Ada. . . callgrind Ada (overloaded) . 2.X 3.X 4.X g++ . (mangled) . . --num-callers= [default: 12] . ( ) ( ). . . . --unw-stack-scan-thresh= [default: 0] , --unw-stack-scan-frames= [default: 5] (stack-scanning) ARM . (stack unwinding) . -- Dwarf CFI (frame-pointer) -- . . . : (words) ARM Thumb . (backtrace) . . . ( ) . ( ) . . . . --unw-stack-scan-thresh=number . <<>> number . --unw-stack-scan-frames . () . --num-callers . --error-limit= [default: yes] . . --error-exitcode= [default: 0] . () . . . . --exit-on-first-error= [default: no] . --error-exitcode . (regression tests) . --error-markers=, [default: none] ( XML ) --error-markers begin (end) ( ) . / . . ( ) . --show-error-list=no|yes|all [default: no] yes . all . (verbosity) --show-error-list=no . -s -s --show-error-list=yes . --sigill-diagnostics= [default: yes] / (illegal instruction). --quiet . . SIGILL . . SIGILL (trap) . . --keep-debuginfo= [default: no] (<<>>) . / dlclose ( ) . (shared objects) . . Memcheck . . : (race condition) Helgrind . Massif ( xtree Massif) . Memcheck --keep-debuginfo=yes . --show-below-main= [default: no] main C / . main main ( __libc_start_main glibc) . main (below main) . main . --fullpath-after= [default: don't show source paths] . . --fullpath-after . : string string . string . /home/janedoe/blah/src/foo/bar/xyzzy.c . --fullpath-after=/home/janedoe/blah/src/ foo/bar/xyzzy.c . --fullpath-after=src/ . . /my/build/dir/C32A1B47/blah/src/foo/xyzzy --fullpath-after=/blah/src/ foo/xyzzy . : --fullpath-after=. . --fullpath-after . . --fullpath-after . . . . --extra-debuginfo-path= [default: undefined and unused] (debug objects) /usr/lib/debug. . . --extra-debuginfo-path=/path/to/debug/objects . . /w/x/y/zz.so --extra-debuginfo-path=/a/b/c /a/b/c/w/x/y/zz.so . . . --debuginfo-server=ipaddr:port [default: undefined and unused] 3.9.0 . . () debuginfo ipaddr port . debuginfo TCP port . debuginfo auxprogs/valgrind-di-server.c . . port . debuginfo /w/x/y/zz.so zz.so . . debuginfo ( ) . LZO . 802.11g (WiFi) . GNU debuglink CRC debuginfo . --allow-mismatched-debuginfo=yes . valgrind-di-server (target) . automake/autoconf (build) . auxprogs/valgrind-di-server.c . debuginfod . DEBUGINFOD . --allow-mismatched-debuginfo=no|yes [no] debuginfo GNU debuglink debuginfo . . --allow-mismatched-debuginfo=yes . debuginfo . : . --suppressions= [default: $PREFIX/lib/valgrind/default.supp] . . --gen-suppressions= [default: no] yes : ---- Print suppression ? --- [Return/N/n/Y/y/C/c] ---- Ret N Ret n Ret . Y Ret y Ret . . all . C++ (mangled) . . (wildcards) ( ). . ( ). -v . --input-fd= [default: 0, stdin] --gen-suppressions=yes . (stdin) stdin . . --dsymutil=no|yes [yes] macOS . macOS (debuginfo) . .dylib . dsymutil ( ) .dylib . .dylib .dSYM . --dsymutil=no .dSYM .dylib ( ) . . --dsymutil=yes dsymutil . --dsymutil=yes dsymutil . dsymutil /usr /bin /sbin /opt /sw /System /Library /Applications dsymutil . . --dsymutil=yes .dSYM . dsymutil . --max-stackframe= [default: 2000000] (stack frame). . . . Memcheck . . Memcheck . . . . (thread) Memcheck (heap) . . --main-stacksize= [default: use current 'ulimit' value] (main thread) . . . <> ( ) . . --main-stacksize . ( ) . . . . --main-stacksize . . --main-stacksize --max-stackframe . --main-stacksize --max-stackframe . --main-stacksize ( segfault ). --max-stackframe . --max-stackframe . . --max-threads= [default: 500] (thread) . . --max-threads=3000. --realloc-zero-bytes-frees=yes|no [default: yes for glibc no otherwise] realloc() C17 (implementation defined) C23 (undefined) . C . C . yes realloc NULL . no realloc . GNU libc musl libc JEMalloc --realloc-zero-bytes-frees=no . Address Sanitizer allocator_frees_and_returns_null_on_realloc_zero . ()MALLOC (MALLOC()-RELATED OPTIONS) malloc ( Memcheck Massif Helgrind DRD) . --alignment= [default: 8 or 16, depending on the platform] malloc realloc ( ). (alignment) . . --redzone-size= [default: depends on the tool] malloc realloc (padding) . << >> (redzone) . . Memcheck . (underrun) (overrun) . . . --xtree-memory=none|allocs|full [none] malloc realloc (execution tree) . Execution Trees . none . allocs . full : ( allocs) . (cpu) xtree . allocs . massif helgrind full (free) (allocation) . Memcheck full --keep-stacktraces=alloc-and-free --keep-stacktraces=alloc-then-free . (word) xtree xtree . --xtree-memory-file= [default: xtmemory.kcg.%p] xtree . %p %q --log-file . --log-file . .ms massif . .kcg callgrind . Execution Trees . (UNCOMMON OPTIONS) . . --smc-check= [default: all-non-file for x86/amd64/s390x, stack for other archs] . . / () . <<>> -- x86 amd64 s390x -- stack . D-I ( ) . . x86 amd64 s390x D-I . all-non-file ( ) mmap . : (none) ( GCC ) (stack) (all) (all-non-file). all . none . VALGRIND_DISCARD_TRANSLATIONS --smc-check=all --smc-check=all-non-file . --smc-check=all-non-file --smc-check=all . . JIT mmap <<>> . --smc-check=all-non-file JIT . --read-inline-info= [default: see below] (inlined) DWARF3 . ( ) (stacktrace) . Linux FreeBSD Android Solaris Memcheck Massif Helgrind DRD . --read-inline-info=no: ==15380== Conditional jump or move depends on uninitialised value(s) ==15380== at 0x80484EA: main (inlinfo.c:6) ==15380== ==15380== Conditional jump or move depends on uninitialised value(s) ==15380== at 0x8048550: fun_noninline (inlinfo.c:6) ==15380== by 0x804850E: main (inlinfo.c:34) ==15380== ==15380== Conditional jump or move depends on uninitialised value(s) ==15380== at 0x8048520: main (inlinfo.c:6) --read-inline-info=yes: ==15377== Conditional jump or move depends on uninitialised value(s) ==15377== at 0x80484EA: fun_d (inlinfo.c:6) ==15377== by 0x80484EA: fun_c (inlinfo.c:14) ==15377== by 0x80484EA: fun_b (inlinfo.c:20) ==15377== by 0x80484EA: fun_a (inlinfo.c:26) ==15377== by 0x80484EA: main (inlinfo.c:33) ==15377== ==15377== Conditional jump or move depends on uninitialised value(s) ==15377== at 0x8048550: fun_d (inlinfo.c:6) ==15377== by 0x8048550: fun_noninline (inlinfo.c:41) ==15377== by 0x804850E: main (inlinfo.c:34) ==15377== ==15377== Conditional jump or move depends on uninitialised value(s) ==15377== at 0x8048520: fun_d (inlinfo.c:6) ==15377== by 0x8048520: main (inlinfo.c:35) --read-var-info= [default: no] DWARF3 . (Memcheck Helgrind DRD) . Memcheck : ==15363== Uninitialised byte(s) found during client check request ==15363== at 0x80484A9: croak (varinfo1.c:28) ==15363== by 0x8048544: main (varinfo1.c:55) ==15363== Address 0x80497f7 is 7 bytes inside data symbol "global_i2" ==15363== ==15363== Uninitialised byte(s) found during client check request ==15363== at 0x80484A9: croak (varinfo1.c:28) ==15363== by 0x8048550: main (varinfo1.c:56) ==15363== Address 0xbea0d0cc is on thread 1's stack ==15363== in frame #1, created by main (varinfo1.c:45) --read-var-info=yes: ==15370== Uninitialised byte(s) found during client check request ==15370== at 0x80484A9: croak (varinfo1.c:28) ==15370== by 0x8048544: main (varinfo1.c:55) ==15370== Location 0x80497f7 is 0 bytes inside global_i2[7], ==15370== a global variable declared at varinfo1.c:41 ==15370== ==15370== Uninitialised byte(s) found during client check request ==15370== at 0x80484A9: croak (varinfo1.c:28) ==15370== by 0x8048550: main (varinfo1.c:56) ==15370== Location 0xbeb4a0cc is 0 bytes inside local var "local" ==15370== declared at varinfo1.c:46, in frame #1 of thread 1 --vgdb-poll= [default: 5000] (poll) ( gdb) gdbserver . ( ) . . vgdb ptrace ( ) . --vgdb-shadow-registers=no|yes [default: no] gdbserver (shadow registers) GDB . GDB . 7.1 GDB . --vgdb-prefix= [default: /tmp/vgdb-pipe] gdb/vgdb gdbserver ( FIFO mmap). prefix . --run-libc-freeres= [default: yes] GNU libc . C (libc.so) . -- . glibc glibc . __libc_freeres glibc . Memcheck __libc_freeres . glibc __libc_freeres (segmentation fault) . Red Hat 7.1 . __libc_freeres . --run-libc-freeres=no libc.so. --run-cxx-freeres= [default: yes] C++ FreeBSD Solaris libstdc++ . C++ (libstdc++.so) C++ g++ . -- . gcc libstdc++ . __gnu_cxx::__freeres libstdc++ . Memcheck __gnu_cxx::__freeres . __gnu_cxx::__freeres --run-cxx-freeres=no libstdc++.so. --sim-hints=hint1,hint2,... . . ! : o lax-ioctls: ioctl . . ioctl . o fuse-compatible: FUSE . FUSE . o enable-outer: . o no-inner-prefix: > stdout stderr . / . > . o no-nptl-pthread-stackcache: FreeBSD Solaris macOS . GNU glibc pthread (libpthread.so) pthread (cache) pthread . pthread pthread (thread local storage) . ( ) . helgrind (race condition) helgrind glibc . helgrind ( __thread ). memcheck glibc __thread . : glibc pthread . glibc . glibc ( 2.11 2.16 2.18) . o lax-doors: ( Solaris) door door. . libdoor(3LIB) . o fallback-llsc: ( MIPS ARM64): (Load- Linked LL) (Store- Conditional SC) . LL SC . Cavium 3 . . : . <<>> LL SC LL SC . LL SC . SC LL-SC . LL SC ABA . CAS -- ABA . --scheduling-quantum= [default: 100000] --scheduling-quantum . (interleaving) . (race conditions) helgrind DRD . Scheduling and Multi-Thread Performance . --fair-sched= [default: no] --fair-sched . . Scheduling and Multi-Thread Performance . o --fair-sched=yes . (round robin) . . --fair-sched=yes . . o --fair-sched=try . --fair-sched=no . o --fair-sched=no . --kernel-variant=variant1,variant2,... ioctl . ioctl . . . : o bproc: sys_broc x86. BProc () . o android-no-hw-tls: ARM TLS ( ) . TLS . o android-gpu-sgx5xx: ioctl PowerVR SGX 5XX . ioctl GPU Memcheck . o android-gpu-adreno3xx: ioctl Qualcomm Adreno 3XX . --merge-recursive-frames= [default: 0] . . . . --merge-recursive-frames= . . 0 () . 1 ( ) . 2 . . : . . --num-transtab-sectors= [default: 6 for Android platforms, 16 for all others] ( basic blocks) (instrument) . ( sector) . . . << >> . . --avg-transtab-entry-size ( Memcheck). --stats=yes . --avg-transtab-entry-size= [default: 0, meaning use tool provided default] . . . . . . memcheck --track-origins=yes . --avg-transtab-entry-size . --aspace-minaddr=
[default: depends on the platform] --aspace-minaddr . <<>> . . --aspace-minaddr . aspace-minaddr . mmap . (page aligned) 0x1000 ( ) . : valgrind -d -d date 2>&1 | grep -i minaddr. 0x10000 ( ) . --valgrind-stacksize= [default: 1MB] <<>> . . . . () --valgrind-stacksize . (demangling) C++ . --valgrind-stacksize . --show-emwarns= [default: no] . . --require-text-symbol=:sonamepatt:fnnamepatt soname sonamepatt (text symbols) . fnnamepatt . . sonamepatt fnnamepatt ? * . : ":*libc.so*:foo?bar". . . : "Q*libc.so*Qfoo?bar". --require-text-symbol . . GCC libgomp.so Helgrind . libgomp.so . : annotated_for_helgrind_3_6 --require-text-symbol=:*libgomp*so*:annotated_for_helgrind_3_6 libgomp.so . * ? . --soname-synonyms=syn1=pattern1,syn2=pattern2,... (wrapped) . Memcheck ( strchr strlen strcpy memchr memcpy memmove ) . soname soname ( libc.so* ). (statically linked) ( malloc free calloc memalign realloc operator new operator delete ). (intercept) . tcmalloc . --soname-synonyms . . malloc somalloc . malloc ( memcheck helgrind drd massif dhat). o malloc: malloc soname mymalloclib.so ( ) --soname-synonyms=somalloc=mymalloclib.so . soname . --soname-synonyms=somalloc=*tcmalloc* soname tcmalloc ( tcmalloc) . : soname elf readelf . o NONE . libtcmalloc.a malloc ( ) --soname-synonyms=somalloc=NONE . NONE soname . o malloc operator new --soname-synonyms=somalloc=nouserintercepts ( nouserintercepts ). o ( ) malloc ( somalloc ) . --progress-interval= [default: 0, meaning 'disabled'] . . number number . number 0 3600 ( ) . number : PROGRESS: U 110s, W 113s, 97.3% CPU, EvC 414.79M, TIn 616.7k, TOut 0.5k, #thr 67 PROGRESS: U 120s, W 124s, 96.8% CPU, EvC 505.27M, TIn 636.6k, TOut 3.0k, #thr 64 PROGRESS: U 130s, W 134s, 97.0% CPU, EvC 574.90M, TIn 657.5k, TOut 3.0k, #thr 63 : o U: (user time) o W: (wallclock time) o CPU: o EvC: (event checks). o TIn: JIT o TOut: o #thr: : o (TIn EvC ) o (spinloop) (TIn/TOut EvC ) o JIT (TIn ) o (TOut ) o (EvC ) o (U W ) (DEBUGGING VALGRIND OPTIONS) . . --help-debug . (MEMCHECK OPTIONS) --leak-check= [default: summary] (memory leaks) . summary . full yes / --show-leak-kinds --errors-for-leak-kinds . --xml=yes --leak-check=full . --show-leak-kinds=none xml . --leak-resolution= [default: high] (backtraces) . low . med . high . --leak-resolution=high --num-callers=40 . --leak-resolution . . --show-leak-kinds= [default: definite,possible] full : o definite indirect possible reachable. o all ( ). --show-leak-kinds=definite,indirect,possible,reachable. o none . --errors-for-leak-kinds= [default: definite,possible] full . --show-leak-kinds . --leak-check-heuristics= [default: all] (heuristics) . (interior pointers) . : o stdstring length64 newarray multipleinheritance. o all . --leak-check-heuristics=stdstring,length64,newarray,multipleinheritance. o none . ++C . gcc ( 4.4 4.7) . ++C . --show-reachable= , --show-possibly-lost= : o --show-reachable=no --show-possibly-lost=yes --show-leak-kinds=definite,possible. o --show-reachable=no --show-possibly-lost=no --show-leak-kinds=definite. o --show-reachable=yes --show-leak-kinds=all. --show-possibly-lost=no --show-reachable=yes . --xtree-leak= [no] yes 'Callgrind Format' . --leak-check=full --show-leak-kinds=all xtree kcachegrind . : o RB : (Reachable Bytes) o PB : (Possibly lost Bytes) o IB : (Indirectly lost Bytes) o DB : ( ) o DIB : ( DB) o RBk : (reachable Blocks) o PBk : (Possibly lost Blocks) o IBk : (Indirectly lost Blocks) o DBk : (Definitely lost Blocks) (: ) . iRB RB dPBk PBk . . (Execution Trees) . --xtree-leak-file= [default: xtleak.kcg.%p] xtree . %p %q %n --log-file . --log-file . (Execution Trees) . --undef-value-errors= [default: yes] (undefined value errors) . no . . AddrCheck ( 3.1.0 ) --undef-value-errors=no . --track-origins= [default: no] . . . yes . . : (heap block) (stack allocation) (client request) ( brk). . -- . . : . . . : . . . --track-origins=yes --undef-value-errors=no . . --partial-loads-ok= [default: yes] (loads) . yes . . no : . ISO C/C++ . . --expensive-definedness-checks= [default: auto] (instrumentation) () . . --expensive-definedness-checks=yes . . --expensive-definedness-checks=no . . --expensive-definedness-checks=auto . --expensive-definedness-checks=yes . . --expensive-definedness-checks=no (workload) . . --keep-stacktraces=alloc|free|alloc-and-free|alloc-then-free|none [default: alloc-and-free] () malloc / free . alloc-then-free . . << >> (use after free) . alloc-and-free . << >> . alloc-then-free . alloc ( ) . free ( ) . cpu . . . none malloc free . / / cpu / . . . ( ) . --keep-stacktraces / --num-callers . --xtree-memory=full ( (Execution Trees) ) --keep-stacktraces=free --keep-stacktraces=none . --freelist-vol= [default: 20000000] free ( C) delete ( ++C) . . . . . . . --freelist-big-blocks= [default: 1000000] --freelist-big-blocks . ( --freelist-vol) ( ) . (dangling pointers) <<>> . 0 (FIFO) . --workaround-gcc296-bugs= [default: no] (stack pointer) GCC 2.96 . << >> . GCC 2.96 (RedHat 7.X) . . GCC . GCC 3.X 4.X PowerPC . GCC / . ELF PowerPC . . . --ignore-range-below-sp . --ignore-range-below-sp=1024-1. --ignore-range-below-sp=- --workaround-gcc296-bugs . . -- -- (non-wraparound) . --ignore-range-below-sp=8192-8189 . . --show-mismatched-frees= [default: yes] . free malloc delete new delete[] new[] . . . . new/new[] malloc delete/delete[] free (inlined) . delete[] new[] . delete[] free <<>> . . --show-mismatched-frees=no . . --show-realloc-size-zero= [default: yes] realloc . realloc . free . free malloc . --ignore-ranges=0xPP-0xQQ[,0xRR-0xSS] ( ) . --malloc-fill= malloc new calloc (hexadecimal) . . -- . --malloc-fill (memory pool) VALGRIND_MEMPOOL_ALLOC VALGRIND_MALLOCLIKE_BLOCK . --free-fill= free delete (hexadecimal) . . -- . --free-fill (memory pool) VALGRIND_MEMPOOL_FREE VALGRIND_FREELIKE_BLOCK . (CACHEGRIND OPTIONS) --cachegrind-out-file= Cachegrind file cachegrind.out.. %p %q / --log-file . --cache-sim=no|yes [no] () . --branch-sim=no|yes [no] . --instr-at-start=no|yes [yes] . CACHEGRIND_START_INSTRUMENTATION CACHEGRIND_STOP_INSTRUMENTATION . --I1=,, . --cache-sim=yes . --D1=,, . --cache-sim=yes . --LL=,, . --cache-sim=yes . (CALLGRIND OPTIONS) --callgrind-out-file= file callgrind.out.. %p %q / --log-file . () . --dump-line= [default: yes] . (-g) . --dump-instr= [default: no] . . KCachegrind . --compress-strings= [default: yes] . ( ) . ( ). --compress-pos= [default: yes] . . . --combine-dumps= [default: no] . . --dump-every-bb= [default: 0, never] count (basic block). . . . --dump-before= function. --zero-before= function. --dump-after= function. --instr-atstart= [default: yes] . no (overhead) . callgrind_control -i on . main . . callgrind.h . . . --collect-atstart= [default: yes] . : 1. . 2. . . () . --toggle-collect ( ). . --toggle-collect --collect-state=no . CALLGRIND_TOGGLE_COLLECT ; . --toggle-collect= function. --collect-jumps= [default: no] () . callgrind_annotate . KCachegrind . --collect-systime= [default: no] . no . ( sysCount) ( sysTime) . --collect-systime sysTime : . nsec (CPU) (sysCpuTime) . yes msec . nsec (Darwin) . --collect-bus= [default: no] . "Ge" . --cache-sim= [default: no] () . ("Ir"). : ("I1mr"/"ILmr") ("Dr") ("D1mr"/"DLmr") ("Dw") ("D1mw"/"DLmw"). Cachegrind: a cache and branch-prediction profiler . --branch-sim= [default: no] . : ("Bc"/"Bcm") ("Bi"/"Bim"). (HELGRIND OPTIONS) --free-is-write=no|yes [default: no] ( ) . (race conditions) . .. . . . --track-lockorders=no|yes [default: yes] () . . . --history-level=none|approx|full [default: full] --history-level=full () <<>> (stack trace) -- . <<>> --history-backtrace-size ( ) --num-callers . ( ). . . --history-level=none . . --history-level=full . --history-level=approx . . . ( --history-level=full ) --history-level=none . --history-backtrace-size= [default: 8] --history-level=full --history-backtrace-size=number <<>> . --delta-stacktrace=no|yes [default: yes on linux amd64/x86] --history-level=full . --delta-stacktrace --history-level=full . . --delta-stacktrace=no (unwind) . --delta-stacktrace=yes . (program counter) . --history-level=full . --delta-stacktrace=yes : o ( prologue) / . --delta-stacktrace=yes . o --delta-stacktrace=yes . o () . --delta-stacktrace=yes . --delta-stacktrace=yes x86 amd64 . --delta-stacktrace=yes --hg-sanity-flags check_cached_rcec_ok libhb_core.c . --conflict-cache-size=N [default: 1000000] --history-level=full . <<>> LRU . . . . . ( ) . . --check-stack-refs=no|yes [default: yes] . ( ) . . --ignore-thread-creation= [default: no] . . . glibc . libc TLS . . yes . ( ) : o pthread_create() o ( TLS) . DRD . libc . (DRD OPTIONS) --check-stack-var= [default: no] DRD (data races) . . --exclusive-threshold= [default: off] . (lock contention) . --join-list-vol= [default: 10] (join) . . --first-race-only= [default: no] . --free-is-write= [default: no] . DRD . : o VG_USERREQ__MALLOCLIKE_BLOCK VG_USERREQ__FREELIKE_BLOCK (false positives) . o (reference-counted) ANNOTATE_HAPPENS_BEFORE ANNOTATE_HAPPENS_AFTER . : valgrind --tool=drd --free-is-write=yes drd/tests/annotate_smart_pointer. --report-signal-unlocked= [default: yes] pthread_cond_signal pthread_cond_broadcast pthread_cond_wait pthread_cond_timed_wait . . . --segment-merging= [default: yes] (segment merging) . . << >> ('other segments') (out of memory) . --segment-merging-interval= [default: 10] . DRD DRD . . . --shared-threshold= [default: off] ( ) . . --show-confl-seg= [default: yes] . . DRD . --show-stack-usage= [default: no] . . . : DRD . DRD . --ignore-thread-creation= [default: no] . . . glibc . libc TLS . DRD . yes . ( ) : o pthread_create() o ( TLS) --trace-addr=
[default: none] . . --ptrace-addr=
[default: none] . --trace-alloc= [default: no] . . --trace-barrier= [default: no] (barrier). --trace-cond= [default: no] (condition variable). --trace-fork-join= [default: no] . --trace-hb= [default: no] ANNOTATE_HAPPENS_BEFORE() ANNOTATE_HAPPENS_AFTER() ANNOTATE_HAPPENS_DONE(). --trace-mutex= [default: no] (mutex). --trace-rwlock= [default: no] - (reader-writer lock). --trace-semaphore= [default: no] (semaphore). (MASSIF OPTIONS) --heap= [default: yes] () . --heap-admin= [default: 8] . . glibc . (Massif) . --stacks= [default: no] . . . . . -v . IP ( ) . IP -px-default=unwindregs-at-mem-access --px-file-backed=unwindregs-at-mem-access . --pages-as-heap= [default: no] malloc . . --depth= [default: 30] () . . --alloc-fn= malloc . (wrapper) malloc new . . . malloc1 malloc malloc2 malloc1 --alloc-fn=malloc2 . --alloc-fn=malloc1 . . ++C demangle ( ) . (overloaded) ++C . . : --alloc-fn='operator new(unsigned, std::nothrow_t const&)' size_t unsigned long unsigned . --alloc-fn (inline) . (mangled) . --alloc-fn (wildcards) . --ignore-fn= ( malloc new --alloc-fn ) . . . realloc realloc . realloc . ++C --alloc-fn . --threshold= [default: 1.0] . . ms_print . --peak-inaccuracy= [default: 1.0] . . . ( .) . --time-unit= [default: i] . : (i) (ms ) / / (B) . --detailed-freq= [default: 10] . --detailed-freq=1 . --max-snapshots= [default: 100] . N N/2 N . --massif-out-file= [default: massif.out.%p] file massif.out.. %p %q / --log-file . (BBV OPTIONS) --bb-out-file= [default: bb.out.%p] (basic block vector) . %p %q / --log-file . --pc-out-file= [default: pc.out.%p] PC . (program counter) . . %p %q / --log-file . --interval-size= [default: 100000000] . . . (warm-up) ( <<>> . .) --instr-count-only [default: no] . . (LACKEY OPTIONS) --basic-counts= [default: yes] (Lackey) : 1. --fnname ( main ). (stripped) . 2. . 3. . (JIT) . 4. (guest x86 amd64 ppc ) IR . IR -RISC . 5. . 6. . --detailed-counts= [default: no] (loads) (stores) (ALU) IR . IR IR ("I1" "I8" ... "I128" "F32" "F64" "V128"). --trace-mem= [default: no] . lackey/lk_main.c . . --trace-superblocks= [default: no] ( ) . . lackey/lk_main.c . . --fnname= [default: main] --basic-counts=yes . (DEBUGINFOD) (debuginfo) debuginfod HTTP ELF/DWARF. debuginfo (build-id) debuginfod . debuginfod-find $DEBUGINFOD_URLS (URL) debuginfod . debuginfod-find $DEBUGINFOD_PROGRESS $DEBUGINFOD_VERBOSE . . . debuginfod Elfutils Debuginfod[1] . (SEE ALSO) cg_annotate(1), callgrind_annotate(1), callgrind_control(1), ms_print(1), $INSTALL/share/doc/valgrind/html/index.html http://www.valgrind.org/docs/manual/index.html, Debugging your program using Valgrind's gdbserver and GDB[2] vgdb[3], Valgrind monitor commands[4], The Commentary[5], Scheduling and Multi-Thread Performance[6], Cachegrind: a cache and branch-prediction profiler[7]. Execution Trees[8] (AUTHOR) AUTHORS . Andres Roldan . (NOTES) 1. Elfutils Debuginfod https://sourceware.org/elfutils/Debuginfod.html 2. Debugging your program using Valgrind's gdbserver and GDB http://www.valgrind.org/docs/manual/manual-core-adv.html#manual- core-adv.gdbserver 3. vgdb http://www.valgrind.org/docs/manual/manual-core-adv.html#manual- core-adv.vgdb 4. Valgrind monitor commands http://www.valgrind.org/docs/manual/manual-core-adv.html#manual- core-adv.valgrind-monitor-commands 5. The Commentary http://www.valgrind.org/docs/manual/manual-core.html#manual- core.comment 6. Scheduling and Multi-Thread Performance http://www.valgrind.org/docs/manual/manual-core.html#manual- core.pthreads_perf_sched 7. Cachegrind: a cache and branch-prediction profiler http://www.valgrind.org/docs/manual/cg-manual.html 8. Execution Trees http://www.valgrind.org/docs/manual/manual-core.html#manual- core.xtree Release 3.25.1 08/11/2026 VALGRIND(1)