diff options
author | Takashi Kokubun <takashikkbn@gmail.com> | 2023-03-31 03:20:40 -0700 |
---|---|---|
committer | Takashi Kokubun <takashikkbn@gmail.com> | 2023-03-31 03:20:40 -0700 |
commit | 185f39df7916670afb2f89896d1324a5a107f480 (patch) | |
tree | 7ca65dcae0bac1cc113c56b13d55ed5ce75a02cf /misc | |
parent | 0f368bfb7b82148cd8d2795820e5bb60d542dc33 (diff) |
gdb: Always show actual values in cfp
Diffstat (limited to 'misc')
-rw-r--r-- | misc/gdb.py | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/misc/gdb.py b/misc/gdb.py index 520b673317..caf07f0457 100644 --- a/misc/gdb.py +++ b/misc/gdb.py @@ -69,7 +69,10 @@ class CFP(gdb.Command): def print_stack(self, cfp, bp_index, content): address = self.get_int(f'{cfp}->__bp__ + {bp_index}') - print('0x{:x} [{}] {}'.format(address, bp_index, content)) + value = self.get_value(cfp, bp_index) + if content: + content = f'{content} ' + print('0x{:x} [{}] {}(0x{:x})'.format(address, bp_index, content, value)) def rp(self, cfp, bp_index): value = self.get_value(cfp, bp_index) @@ -78,11 +81,10 @@ class CFP(gdb.Command): # specval: block_handler or previous EP def specval(self, cfp, bp_index): value = self.get_value(cfp, bp_index) - specval = '0x{:x}'.format(value) for block_handler in ['VM_BLOCK_HANDLER_NONE', 'rb_block_param_proxy']: if value == self.get_int(block_handler): - return f'{specval} ({block_handler})' - return specval + return block_handler + return '' def frame_types(self, cfp, bp_index): types = [] @@ -99,7 +101,7 @@ class CFP(gdb.Command): if value & flag_value: types.append(flag) - return '0x{:x} ({})'.format(self.get_value(cfp, bp_index), ' | '.join(types)) + return ' | '.join(types) def get_value(self, cfp, bp_index): return self.get_int(f'{cfp}->__bp__[{bp_index}]') |