summaryrefslogtreecommitdiff
path: root/misc
diff options
context:
space:
mode:
authorTakashi Kokubun <takashikkbn@gmail.com>2023-04-01 00:19:27 -0700
committerTakashi Kokubun <takashikkbn@gmail.com>2023-04-01 00:19:27 -0700
commit1da77539da4bf6151baac656f48f00eff544a448 (patch)
tree9f05be14b1871e77b16f7c3e392457b9e1a2a856 /misc
parent9720f5ac894566ade2aabcf9adea0a3235de1353 (diff)
gdb: Don't dump params and locals for C frames
Diffstat (limited to 'misc')
-rw-r--r--misc/gdb.py23
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))