general valgrind monitor commands: help [debug] : monitor command help. With debug: + debugging commands v.wait [<ms>] : sleep <ms> (default 0) then continue v.info all_errors : show all errors found so far v.info last_error : show last error found v.info location <addr> : show information about location <addr> v.info n_errs_found [msg] : show the nr of errors found so far and the given msg v.info open_fds : show open file descriptors (only if --track-fds=yes) v.kill : kill the Valgrind process v.set gdb_output : set valgrind output to gdb v.set log_output : set valgrind output to log v.set mixed_output : set valgrind output to log, interactive output to gdb v.set merge-recursive-frames <num> : merge recursive calls in max <num> frames v.set vgdb-error <errornr> : debug me at error >= <errornr> memcheck monitor commands: xb <addr> [<len>] prints validity bits for <len> (or 1) bytes at <addr> bit values 0 = valid, 1 = invalid, __ = unaddressable byte Then prints the bytes values below the corresponding validity bits in a layout similar to the gdb command 'x /<len>xb <addr>' Example: xb 0x........ 10 get_vbits <addr> [<len>] Similar to xb, but only prints the validity bytes by group of 4. make_memory [noaccess|undefined |defined|Definedifaddressable] <addr> [<len>] mark <len> (or 1) bytes at <addr> with the given accessibility check_memory [addressable|defined] <addr> [<len>] check that <len> (or 1) bytes at <addr> have the given accessibility and outputs a description of <addr> leak_check [full*|summary] [kinds kind1,kind2,...|reachable|possibleleak*|definiteleak] [heuristics heur1,heur2,...] [increased*|changed|any] [unlimited*|limited <max_loss_records_output>] * = defaults where kind is one of: definite indirect possible reachable all none where heur is one of: stdstring length64 newarray multipleinheritance all none* Examples: leak_check leak_check summary any leak_check full kinds indirect,possible leak_check full reachable any limited 100 block_list <loss_record_nr>|<loss_record_nr_from>..<loss_record_nr_to> [unlimited*|limited <max_blocks>] [heuristics heur1,heur2,...] after a leak search, shows the list of blocks of <loss_record_nr> (or of the range <loss_record_nr_from>..<loss_record_nr_to>). With heuristics, only shows the blocks found via heur1,heur2,... * = defaults who_points_at <addr> [<len>] shows places pointing inside <len> (default 1) bytes at <addr> (with len 1, only shows "start pointers" pointing exactly to <addr>, with len > 1, will also show "interior pointers") general valgrind monitor commands: help [debug] : monitor command help. With debug: + debugging commands v.wait [<ms>] : sleep <ms> (default 0) then continue v.info all_errors : show all errors found so far v.info last_error : show last error found v.info location <addr> : show information about location <addr> v.info n_errs_found [msg] : show the nr of errors found so far and the given msg v.info open_fds : show open file descriptors (only if --track-fds=yes) v.kill : kill the Valgrind process v.set gdb_output : set valgrind output to gdb v.set log_output : set valgrind output to log v.set mixed_output : set valgrind output to log, interactive output to gdb v.set merge-recursive-frames <num> : merge recursive calls in max <num> frames v.set vgdb-error <errornr> : debug me at error >= <errornr> debugging valgrind internals monitor commands: v.do expensive_sanity_check_general : do an expensive sanity check now v.info gdbserver_status : show gdbserver status v.info memory [aspacemgr] : show valgrind heap memory stats (with aspacemgr arg, also shows valgrind segments on log output) v.info exectxt : show stacktraces and stats of all execontexts v.info scheduler : show valgrind thread state and stacktrace v.info stats : show various valgrind and tool stats v.info unwind <addr> [<len>] : show unwind debug info for <addr> .. <addr+len> v.set debuglog <level> : set valgrind debug log level to <level> v.set hostvisibility [yes*|no] : (en/dis)ables access by gdb/gdbserver to Valgrind internal host status/memory v.translate <addr> [<traceflags>] : debug translation of <addr> with <traceflags> (default traceflags 0b00100000 : show after instrumentation) An additional flag 0b100000000 allows to show gdbserver instrumentation memcheck monitor commands: xb <addr> [<len>] prints validity bits for <len> (or 1) bytes at <addr> bit values 0 = valid, 1 = invalid, __ = unaddressable byte Then prints the bytes values below the corresponding validity bits in a layout similar to the gdb command 'x /<len>xb <addr>' Example: xb 0x........ 10 get_vbits <addr> [<len>] Similar to xb, but only prints the validity bytes by group of 4. make_memory [noaccess|undefined |defined|Definedifaddressable] <addr> [<len>] mark <len> (or 1) bytes at <addr> with the given accessibility check_memory [addressable|defined] <addr> [<len>] check that <len> (or 1) bytes at <addr> have the given accessibility and outputs a description of <addr> leak_check [full*|summary] [kinds kind1,kind2,...|reachable|possibleleak*|definiteleak] [heuristics heur1,heur2,...] [increased*|changed|any] [unlimited*|limited <max_loss_records_output>] * = defaults where kind is one of: definite indirect possible reachable all none where heur is one of: stdstring length64 newarray multipleinheritance all none* Examples: leak_check leak_check summary any leak_check full kinds indirect,possible leak_check full reachable any limited 100 block_list <loss_record_nr>|<loss_record_nr_from>..<loss_record_nr_to> [unlimited*|limited <max_blocks>] [heuristics heur1,heur2,...] after a leak search, shows the list of blocks of <loss_record_nr> (or of the range <loss_record_nr_from>..<loss_record_nr_to>). With heuristics, only shows the blocks found via heur1,heur2,... * = defaults who_points_at <addr> [<len>] shows places pointing inside <len> (default 1) bytes at <addr> (with len 1, only shows "start pointers" pointing exactly to <addr>, with len > 1, will also show "interior pointers") monitor command request to kill this process