如何在LLDB中调用正则函数(而不是块)?
我试过使用:
expr int $addr = 0x51bb45
expr (void (^)(void))$addr
expr $0()但我遇到了一个错误:“在个人简历之后没有运行事件,而是被停止了。无法执行函数;结果是eExecutionSetupError”。
函数就是这样声明的,但我没有符号.外部"C“空do_something( void )
编辑:
解决办法是使用:
(void (*)(void))$addr发布于 2014-08-25 19:42:06
如果函数是这样声明的,那么它是块指针而不是常规函数。正如nos所说,如果它是一个函数指针,那么它将在声明中包含一个*。lldb目前不知道如何调用块指针:与C++ & ObjC方法一样,它们需要正确设置人工的第一个参数,而lldb不知道如何对块执行该操作。
https://stackoverflow.com/questions/25482687
复制相似问题