diff options
author | Kartik Agaram <vc@akkartik.com> | 2019-03-22 21:52:42 -0700 |
---|---|---|
committer | Kartik Agaram <vc@akkartik.com> | 2019-03-22 21:52:42 -0700 |
commit | b0212309664363e832404fe80b959397314909c2 (patch) | |
tree | a1b0b306bdf6790b8cf01577d73ecff03c4a8e8b /subx/039debug.cc | |
parent | 9be1aa30d8c32c7750c9ae9e73b4caa1037a7a5b (diff) | |
download | mu-b0212309664363e832404fe80b959397314909c2.tar.gz |
5016
Diffstat (limited to 'subx/039debug.cc')
-rw-r--r-- | subx/039debug.cc | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/subx/039debug.cc b/subx/039debug.cc index 9078acf2..fc0b622b 100644 --- a/subx/039debug.cc +++ b/subx/039debug.cc @@ -24,6 +24,14 @@ void load_map(const string& map_filename) { if (contains_key(Symbol_name, EIP)) trace(Callstack_depth, "run") << "== label " << get(Symbol_name, EIP) << end(); +//: make calls in particular more salient +:(before "End Trace Call Instruction") +// at this point we've skipped past the e8 opcode, but not the offset operand +int32_t offset = read_mem_i32(EIP); +uint32_t next_eip = EIP+offset+4; +if (contains_key(Symbol_name, next_eip)) + return "/call "+get(Symbol_name, next_eip); + //: If a label starts with '$watch-', make a note of the effective address //: computed by the next instruction. Start dumping out its contents to the //: trace after every subsequent instruction. |