mirror of https://github.com/pwndbg/pwndbg.git
Only look for readable address in retaddr command (#2143)
* Only look for readable address in retaddr command * Rename stack.py to retaddr.py * Add pwndbg.gdblib.stack.callstack and use it in retaddr * Add callstack gdb test * Add QEMU callstack testpull/2189/head
parent
d6408b98a4
commit
00adfbbb5e
@ -0,0 +1,20 @@
|
||||
from __future__ import annotations
|
||||
|
||||
import gdb
|
||||
|
||||
import pwndbg.gdblib.memory
|
||||
import pwndbg.gdblib.stack
|
||||
import tests
|
||||
|
||||
REFERENCE_BINARY = tests.binaries.get("reference-binary.out")
|
||||
|
||||
|
||||
def test_callstack_readable(start_binary):
|
||||
start_binary(REFERENCE_BINARY)
|
||||
gdb.execute("b break_here")
|
||||
gdb.execute("r")
|
||||
|
||||
addresses = pwndbg.gdblib.stack.callstack()
|
||||
|
||||
assert len(addresses) > 0
|
||||
assert all(pwndbg.gdblib.memory.is_readable_address(address) for address in addresses)
|
||||
@ -0,0 +1,11 @@
|
||||
from __future__ import annotations
|
||||
|
||||
import pwndbg.gdblib.memory
|
||||
import pwndbg.gdblib.stack
|
||||
|
||||
|
||||
def test_callstack_readable():
|
||||
addresses = pwndbg.gdblib.stack.callstack()
|
||||
|
||||
assert len(addresses) > 0
|
||||
assert all(pwndbg.gdblib.memory.is_readable_address(address) for address in addresses)
|
||||
Loading…
Reference in new issue