diff options
author | Takashi Kokubun <takashikkbn@gmail.com> | 2023-04-01 00:19:27 -0700 |
---|---|---|
committer | Takashi Kokubun <takashikkbn@gmail.com> | 2023-04-01 00:19:27 -0700 |
commit | 1da77539da4bf6151baac656f48f00eff544a448 (patch) | |
tree | 9f05be14b1871e77b16f7c3e392457b9e1a2a856 /misc | |
parent | 9720f5ac894566ade2aabcf9adea0a3235de1353 (diff) |
gdb: Don't dump params and locals for C frames
Diffstat (limited to 'misc')
-rw-r--r-- | misc/gdb.py | 23 |
1 files changed, 12 insertions, 11 deletions
diff --git a/misc/gdb.py b/misc/gdb.py index 2c2b94f5dc..06f0d16443 100644 --- a/misc/gdb.py +++ b/misc/gdb.py @@ -46,17 +46,18 @@ class CFP(gdb.Command): gdb.execute(f'p *({cfp})') print() - local_size = self.get_int(f'{cfp}->iseq->body->local_table_size - {cfp}->iseq->body->param.size') - param_size = self.get_int(f'{cfp}->iseq->body->param.size') - print(f'Params (size={param_size}):') - for i in range(-3 - local_size - param_size, -3 - local_size): - self.print_stack(cfp, i, self.rp(cfp, i)) - print() - - print(f'Locals (size={local_size}):') - for i in range(-3 - local_size, -3): - self.print_stack(cfp, i, self.rp(cfp, i)) - print() + if self.get_int(f'{cfp}->iseq'): + local_size = self.get_int(f'{cfp}->iseq->body->local_table_size - {cfp}->iseq->body->param.size') + param_size = self.get_int(f'{cfp}->iseq->body->param.size') + print(f'Params (size={param_size}):') + for i in range(-3 - local_size - param_size, -3 - local_size): + self.print_stack(cfp, i, self.rp(cfp, i)) + print() + + print(f'Locals (size={local_size}):') + for i in range(-3 - local_size, -3): + self.print_stack(cfp, i, self.rp(cfp, i)) + print() print('Env:') self.print_stack(cfp, -3, self.rp(cfp, -3)) |