当尝试调试用Objective-C编写的应用程序时,我经常看到寄存器包含一个指向函数的指针。问题是,我似乎无法实际实现。
示例:
$register read
$rbx = 0x00007fffd1b326b8 (void *)0x001dffffd1b32731
$x/2xw $rbx
$0x7fffd1b326b8: 0xd1b32731 0x001dffff (flipped endian)
$x/2xw 0x001dffffd1b32731
$error: memory read failed for 0x1dffffd1b32600
显然,我不能在该地址设置断点,以便消除该选项,所以我的问题是:是否有可能获得应该在该内存地址的指令?
答案 0 :(得分:0)
如果知道函数的地址,则可以使用disassemble -a
命令查看该函数的汇编。
(lldb) disassemble -a 0x1234
或
(lldb) disas -a 0x1234