Implement telescope folding for multiple runs

pull/23/merge
Zach Riggle 10 years ago
parent 6b640f3772
commit 293cf66ba5

@ -62,10 +62,23 @@ def telescope(address=None, count=8, to_string=False):
# Print everything out
result = []
last = None
skip = False
for i,addr in enumerate(range(start, stop, step)):
if not pwndbg.memory.peek(addr):
result.append("<Could not read memory at %#x>" % addr)
break
# Collapse repeating values.
value = pwndbg.memory.pvoid(addr)
if last == value:
if not skip:
result.append('...')
skip = True
continue
last = value
skip = False
line = ' '.join(("%02x:%04x|" % (i, addr-start),
regs[addr].ljust(longest_regs),
pwndbg.chain.format(addr)))

Loading…
Cancel
Save