gdb: Don't dump params and locals for C frames

This commit is contained in:
Takashi Kokubun 2023-04-01 00:19:27 -07:00
parent 9720f5ac89
commit 1da77539da

View File

@ -46,17 +46,18 @@ class CFP(gdb.Command):
gdb.execute(f'p *({cfp})') gdb.execute(f'p *({cfp})')
print() print()
local_size = self.get_int(f'{cfp}->iseq->body->local_table_size - {cfp}->iseq->body->param.size') if self.get_int(f'{cfp}->iseq'):
param_size = self.get_int(f'{cfp}->iseq->body->param.size') local_size = self.get_int(f'{cfp}->iseq->body->local_table_size - {cfp}->iseq->body->param.size')
print(f'Params (size={param_size}):') param_size = self.get_int(f'{cfp}->iseq->body->param.size')
for i in range(-3 - local_size - param_size, -3 - local_size): print(f'Params (size={param_size}):')
self.print_stack(cfp, i, self.rp(cfp, i)) for i in range(-3 - local_size - param_size, -3 - local_size):
print() self.print_stack(cfp, i, self.rp(cfp, i))
print()
print(f'Locals (size={local_size}):') print(f'Locals (size={local_size}):')
for i in range(-3 - local_size, -3): for i in range(-3 - local_size, -3):
self.print_stack(cfp, i, self.rp(cfp, i)) self.print_stack(cfp, i, self.rp(cfp, i))
print() print()
print('Env:') print('Env:')
self.print_stack(cfp, -3, self.rp(cfp, -3)) self.print_stack(cfp, -3, self.rp(cfp, -3))