lldb读取内存指针
lldb read memory pointer
可以很容易地读取另一个地址指向的内存。
例如$r0 = 0x15942600 在这个内存地址有AC B8 EC 14
现在要读取 0x14ecb8ac 处的内存,我必须这样做:
mem read $r0
mem read 0x14ecb8ac
有什么方法可以轻松完成 mem read ($r0)
以便我可以轻松读取内存?
我试过这个:
(lldb) mem re $r1
0x007db594: 7c d5 e7 15 00 00 00 00 e4 b5 7d 00 70 f6 9a 36
(lldb) mem read 0x15e7d57c
0x15e7d57c: 74 69 63 72 63 74 37 35 00 00 63 61 00 00 49 39
(lldb) mem read '*(char **)$r1'
error: invalid start address expression.
error: address expression "*(char **)$r1" evaluation failed
多亏了@MarkPlotnick,这才有效,
mem read '*(int **)$r1'
如果需要读取某个偏移量的mem地址,可以进行如下操作,
mem read '*(int **)($r1+4)'
针对 Xcode 针对 ARMv7 和 ARM64 的调试进行了尝试和测试
可以很容易地读取另一个地址指向的内存。
例如$r0 = 0x15942600 在这个内存地址有AC B8 EC 14
现在要读取 0x14ecb8ac 处的内存,我必须这样做:
mem read $r0
mem read 0x14ecb8ac
有什么方法可以轻松完成 mem read ($r0)
以便我可以轻松读取内存?
我试过这个:
(lldb) mem re $r1
0x007db594: 7c d5 e7 15 00 00 00 00 e4 b5 7d 00 70 f6 9a 36
(lldb) mem read 0x15e7d57c
0x15e7d57c: 74 69 63 72 63 74 37 35 00 00 63 61 00 00 49 39
(lldb) mem read '*(char **)$r1'
error: invalid start address expression.
error: address expression "*(char **)$r1" evaluation failed
多亏了@MarkPlotnick,这才有效,
mem read '*(int **)$r1'
如果需要读取某个偏移量的mem地址,可以进行如下操作,
mem read '*(int **)($r1+4)'
针对 Xcode 针对 ARMv7 和 ARM64 的调试进行了尝试和测试