sewardj | 3b29048 | 2011-05-06 21:02:55 +0000 | [diff] [blame] | 1 | general valgrind monitor commands: |
philippe | c336038 | 2012-10-21 14:37:14 +0000 | [diff] [blame] | 2 | help [debug] : monitor command help. With debug: + debugging commands |
sewardj | 30b3eca | 2011-06-28 08:20:39 +0000 | [diff] [blame] | 3 | v.wait [<ms>] : sleep <ms> (default 0) then continue |
| 4 | v.info all_errors : show all errors found so far |
| 5 | v.info last_error : show last error found |
philippe | 07c0852 | 2014-05-14 20:39:27 +0000 | [diff] [blame] | 6 | v.info location <addr> : show information about location <addr> |
philippe | 02ea413 | 2013-09-04 21:42:43 +0000 | [diff] [blame] | 7 | v.info n_errs_found [msg] : show the nr of errors found so far and the given msg |
philippe | c336038 | 2012-10-21 14:37:14 +0000 | [diff] [blame] | 8 | v.info open_fds : show open file descriptors (only if --track-fds=yes) |
sewardj | 30b3eca | 2011-06-28 08:20:39 +0000 | [diff] [blame] | 9 | v.kill : kill the Valgrind process |
| 10 | v.set gdb_output : set valgrind output to gdb |
| 11 | v.set log_output : set valgrind output to log |
| 12 | v.set mixed_output : set valgrind output to log, interactive output to gdb |
philippe | 4620765 | 2013-01-20 17:11:58 +0000 | [diff] [blame] | 13 | v.set merge-recursive-frames <num> : merge recursive calls in max <num> frames |
sewardj | 30b3eca | 2011-06-28 08:20:39 +0000 | [diff] [blame] | 14 | v.set vgdb-error <errornr> : debug me at error >= <errornr> |
sewardj | 3b29048 | 2011-05-06 21:02:55 +0000 | [diff] [blame] | 15 | memcheck monitor commands: |
philippe | b92e632 | 2015-08-04 19:11:03 +0000 | [diff] [blame] | 16 | xb <addr> [<len>] |
| 17 | prints validity bits for <len> (or 1) bytes at <addr> |
sewardj | 3b29048 | 2011-05-06 21:02:55 +0000 | [diff] [blame] | 18 | bit values 0 = valid, 1 = invalid, __ = unaddressable byte |
philippe | b92e632 | 2015-08-04 19:11:03 +0000 | [diff] [blame] | 19 | Then prints the bytes values below the corresponding validity bits |
| 20 | in a layout similar to the gdb command 'x /<len>xb <addr>' |
| 21 | Example: xb 0x........ 10 |
| 22 | get_vbits <addr> [<len>] |
| 23 | Similar to xb, but only prints the validity bytes by group of 4. |
sewardj | 30b3eca | 2011-06-28 08:20:39 +0000 | [diff] [blame] | 24 | make_memory [noaccess|undefined |
| 25 | |defined|Definedifaddressable] <addr> [<len>] |
sewardj | 3b29048 | 2011-05-06 21:02:55 +0000 | [diff] [blame] | 26 | mark <len> (or 1) bytes at <addr> with the given accessibility |
sewardj | 30b3eca | 2011-06-28 08:20:39 +0000 | [diff] [blame] | 27 | check_memory [addressable|defined] <addr> [<len>] |
sewardj | 3b29048 | 2011-05-06 21:02:55 +0000 | [diff] [blame] | 28 | check that <len> (or 1) bytes at <addr> have the given accessibility |
| 29 | and outputs a description of <addr> |
Elliott Hughes | ed39800 | 2017-06-21 14:41:24 -0700 | [diff] [blame^] | 30 | leak_check [full*|summary|xtleak] |
philippe | 2193a7c | 2012-12-08 17:54:16 +0000 | [diff] [blame] | 31 | [kinds kind1,kind2,...|reachable|possibleleak*|definiteleak] |
philippe | ab1fce9 | 2013-09-29 13:47:32 +0000 | [diff] [blame] | 32 | [heuristics heur1,heur2,...] |
sewardj | c8bd1df | 2011-06-26 12:41:33 +0000 | [diff] [blame] | 33 | [increased*|changed|any] |
philippe | 8423490 | 2012-01-14 13:53:13 +0000 | [diff] [blame] | 34 | [unlimited*|limited <max_loss_records_output>] |
sewardj | 3b29048 | 2011-05-06 21:02:55 +0000 | [diff] [blame] | 35 | * = defaults |
Elliott Hughes | ed39800 | 2017-06-21 14:41:24 -0700 | [diff] [blame^] | 36 | xtleak produces an xtree full leak result in xtleak.kcg.%p.%n |
sewardj | 122f6af | 2014-09-03 21:58:54 +0000 | [diff] [blame] | 37 | where kind is one of: |
| 38 | definite indirect possible reachable all none |
| 39 | where heur is one of: |
| 40 | stdstring length64 newarray multipleinheritance all none* |
| 41 | Examples: leak_check |
| 42 | leak_check summary any |
| 43 | leak_check full kinds indirect,possible |
| 44 | leak_check full reachable any limited 100 |
philippe | ce3b04c | 2015-09-02 21:26:34 +0000 | [diff] [blame] | 45 | block_list <loss_record_nr>|<loss_record_nr_from>..<loss_record_nr_to> |
| 46 | [unlimited*|limited <max_blocks>] |
| 47 | [heuristics heur1,heur2,...] |
philippe | a22f59d | 2012-01-26 23:13:52 +0000 | [diff] [blame] | 48 | after a leak search, shows the list of blocks of <loss_record_nr> |
philippe | ce3b04c | 2015-09-02 21:26:34 +0000 | [diff] [blame] | 49 | (or of the range <loss_record_nr_from>..<loss_record_nr_to>). |
| 50 | With heuristics, only shows the blocks found via heur1,heur2,... |
philippe | 6d3cb49 | 2015-08-13 22:49:32 +0000 | [diff] [blame] | 51 | * = defaults |
philippe | a22f59d | 2012-01-26 23:13:52 +0000 | [diff] [blame] | 52 | who_points_at <addr> [<len>] |
| 53 | shows places pointing inside <len> (default 1) bytes at <addr> |
| 54 | (with len 1, only shows "start pointers" pointing exactly to <addr>, |
| 55 | with len > 1, will also show "interior pointers") |
Elliott Hughes | ed39800 | 2017-06-21 14:41:24 -0700 | [diff] [blame^] | 56 | xtmemory [<filename>] |
| 57 | dump xtree memory profile in <filename> (default xtmemory.kcg.%p.%n) |
sewardj | 3b29048 | 2011-05-06 21:02:55 +0000 | [diff] [blame] | 58 | general valgrind monitor commands: |
philippe | c336038 | 2012-10-21 14:37:14 +0000 | [diff] [blame] | 59 | help [debug] : monitor command help. With debug: + debugging commands |
sewardj | 30b3eca | 2011-06-28 08:20:39 +0000 | [diff] [blame] | 60 | v.wait [<ms>] : sleep <ms> (default 0) then continue |
| 61 | v.info all_errors : show all errors found so far |
| 62 | v.info last_error : show last error found |
philippe | 07c0852 | 2014-05-14 20:39:27 +0000 | [diff] [blame] | 63 | v.info location <addr> : show information about location <addr> |
philippe | 02ea413 | 2013-09-04 21:42:43 +0000 | [diff] [blame] | 64 | v.info n_errs_found [msg] : show the nr of errors found so far and the given msg |
philippe | c336038 | 2012-10-21 14:37:14 +0000 | [diff] [blame] | 65 | v.info open_fds : show open file descriptors (only if --track-fds=yes) |
sewardj | 30b3eca | 2011-06-28 08:20:39 +0000 | [diff] [blame] | 66 | v.kill : kill the Valgrind process |
| 67 | v.set gdb_output : set valgrind output to gdb |
| 68 | v.set log_output : set valgrind output to log |
| 69 | v.set mixed_output : set valgrind output to log, interactive output to gdb |
philippe | 4620765 | 2013-01-20 17:11:58 +0000 | [diff] [blame] | 70 | v.set merge-recursive-frames <num> : merge recursive calls in max <num> frames |
sewardj | 30b3eca | 2011-06-28 08:20:39 +0000 | [diff] [blame] | 71 | v.set vgdb-error <errornr> : debug me at error >= <errornr> |
sewardj | 3b29048 | 2011-05-06 21:02:55 +0000 | [diff] [blame] | 72 | debugging valgrind internals monitor commands: |
philippe | 6ec8d63 | 2013-01-23 22:10:28 +0000 | [diff] [blame] | 73 | v.do expensive_sanity_check_general : do an expensive sanity check now |
sewardj | 30b3eca | 2011-06-28 08:20:39 +0000 | [diff] [blame] | 74 | v.info gdbserver_status : show gdbserver status |
philippe | 93a6a8d | 2012-04-27 22:59:43 +0000 | [diff] [blame] | 75 | v.info memory [aspacemgr] : show valgrind heap memory stats |
rhyskidd | 05c9d21 | 2015-07-06 09:34:12 +0000 | [diff] [blame] | 76 | (with aspacemgr arg, also shows valgrind segments on log output) |
philippe | 53bc8bc | 2013-01-10 22:35:33 +0000 | [diff] [blame] | 77 | v.info exectxt : show stacktraces and stats of all execontexts |
sewardj | d6e13d8 | 2011-10-22 20:23:30 +0000 | [diff] [blame] | 78 | v.info scheduler : show valgrind thread state and stacktrace |
philippe | 8587b54 | 2013-12-15 20:24:43 +0000 | [diff] [blame] | 79 | v.info stats : show various valgrind and tool stats |
philippe | 97bfa19 | 2015-06-02 22:09:42 +0000 | [diff] [blame] | 80 | v.info unwind <addr> [<len>] : show unwind debug info for <addr> .. <addr+len> |
sewardj | 30b3eca | 2011-06-28 08:20:39 +0000 | [diff] [blame] | 81 | v.set debuglog <level> : set valgrind debug log level to <level> |
philippe | 180a750 | 2014-04-20 13:41:10 +0000 | [diff] [blame] | 82 | v.set hostvisibility [yes*|no] : (en/dis)ables access by gdb/gdbserver to |
| 83 | Valgrind internal host status/memory |
sewardj | 30b3eca | 2011-06-28 08:20:39 +0000 | [diff] [blame] | 84 | v.translate <addr> [<traceflags>] : debug translation of <addr> with <traceflags> |
sewardj | 3b29048 | 2011-05-06 21:02:55 +0000 | [diff] [blame] | 85 | (default traceflags 0b00100000 : show after instrumentation) |
| 86 | An additional flag 0b100000000 allows to show gdbserver instrumentation |
sewardj | 3b29048 | 2011-05-06 21:02:55 +0000 | [diff] [blame] | 87 | memcheck monitor commands: |
philippe | b92e632 | 2015-08-04 19:11:03 +0000 | [diff] [blame] | 88 | xb <addr> [<len>] |
| 89 | prints validity bits for <len> (or 1) bytes at <addr> |
sewardj | 3b29048 | 2011-05-06 21:02:55 +0000 | [diff] [blame] | 90 | bit values 0 = valid, 1 = invalid, __ = unaddressable byte |
philippe | b92e632 | 2015-08-04 19:11:03 +0000 | [diff] [blame] | 91 | Then prints the bytes values below the corresponding validity bits |
| 92 | in a layout similar to the gdb command 'x /<len>xb <addr>' |
| 93 | Example: xb 0x........ 10 |
| 94 | get_vbits <addr> [<len>] |
| 95 | Similar to xb, but only prints the validity bytes by group of 4. |
sewardj | 30b3eca | 2011-06-28 08:20:39 +0000 | [diff] [blame] | 96 | make_memory [noaccess|undefined |
| 97 | |defined|Definedifaddressable] <addr> [<len>] |
sewardj | 3b29048 | 2011-05-06 21:02:55 +0000 | [diff] [blame] | 98 | mark <len> (or 1) bytes at <addr> with the given accessibility |
sewardj | 30b3eca | 2011-06-28 08:20:39 +0000 | [diff] [blame] | 99 | check_memory [addressable|defined] <addr> [<len>] |
sewardj | 3b29048 | 2011-05-06 21:02:55 +0000 | [diff] [blame] | 100 | check that <len> (or 1) bytes at <addr> have the given accessibility |
| 101 | and outputs a description of <addr> |
Elliott Hughes | ed39800 | 2017-06-21 14:41:24 -0700 | [diff] [blame^] | 102 | leak_check [full*|summary|xtleak] |
philippe | 2193a7c | 2012-12-08 17:54:16 +0000 | [diff] [blame] | 103 | [kinds kind1,kind2,...|reachable|possibleleak*|definiteleak] |
philippe | ab1fce9 | 2013-09-29 13:47:32 +0000 | [diff] [blame] | 104 | [heuristics heur1,heur2,...] |
sewardj | c8bd1df | 2011-06-26 12:41:33 +0000 | [diff] [blame] | 105 | [increased*|changed|any] |
philippe | 8423490 | 2012-01-14 13:53:13 +0000 | [diff] [blame] | 106 | [unlimited*|limited <max_loss_records_output>] |
sewardj | 3b29048 | 2011-05-06 21:02:55 +0000 | [diff] [blame] | 107 | * = defaults |
Elliott Hughes | ed39800 | 2017-06-21 14:41:24 -0700 | [diff] [blame^] | 108 | xtleak produces an xtree full leak result in xtleak.kcg.%p.%n |
sewardj | 122f6af | 2014-09-03 21:58:54 +0000 | [diff] [blame] | 109 | where kind is one of: |
| 110 | definite indirect possible reachable all none |
| 111 | where heur is one of: |
| 112 | stdstring length64 newarray multipleinheritance all none* |
| 113 | Examples: leak_check |
| 114 | leak_check summary any |
| 115 | leak_check full kinds indirect,possible |
| 116 | leak_check full reachable any limited 100 |
philippe | ce3b04c | 2015-09-02 21:26:34 +0000 | [diff] [blame] | 117 | block_list <loss_record_nr>|<loss_record_nr_from>..<loss_record_nr_to> |
| 118 | [unlimited*|limited <max_blocks>] |
| 119 | [heuristics heur1,heur2,...] |
philippe | a22f59d | 2012-01-26 23:13:52 +0000 | [diff] [blame] | 120 | after a leak search, shows the list of blocks of <loss_record_nr> |
philippe | ce3b04c | 2015-09-02 21:26:34 +0000 | [diff] [blame] | 121 | (or of the range <loss_record_nr_from>..<loss_record_nr_to>). |
| 122 | With heuristics, only shows the blocks found via heur1,heur2,... |
philippe | 6d3cb49 | 2015-08-13 22:49:32 +0000 | [diff] [blame] | 123 | * = defaults |
philippe | a22f59d | 2012-01-26 23:13:52 +0000 | [diff] [blame] | 124 | who_points_at <addr> [<len>] |
| 125 | shows places pointing inside <len> (default 1) bytes at <addr> |
| 126 | (with len 1, only shows "start pointers" pointing exactly to <addr>, |
| 127 | with len > 1, will also show "interior pointers") |
Elliott Hughes | ed39800 | 2017-06-21 14:41:24 -0700 | [diff] [blame^] | 128 | xtmemory [<filename>] |
| 129 | dump xtree memory profile in <filename> (default xtmemory.kcg.%p.%n) |
sewardj | 3b29048 | 2011-05-06 21:02:55 +0000 | [diff] [blame] | 130 | monitor command request to kill this process |