首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从lldb执行函数(由指针标识)

如何从lldb执行函数(由指针标识)
EN

Stack Overflow用户
提问于 2014-08-25 09:21:54
回答 1查看 744关注 0票数 1

如何在LLDB中调用正则函数(而不是块)?

我试过使用:

代码语言:javascript
复制
expr int $addr = 0x51bb45
expr (void (^)(void))$addr
expr $0()

但我遇到了一个错误:“在个人简历之后没有运行事件,而是被停止了。无法执行函数;结果是eExecutionSetupError”。

函数就是这样声明的,但我没有符号.外部"C“空do_something( void )

编辑:

解决办法是使用:

代码语言:javascript
复制
(void (*)(void))$addr
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-08-25 19:42:06

如果函数是这样声明的,那么它是块指针而不是常规函数。正如nos所说,如果它是一个函数指针,那么它将在声明中包含一个*。lldb目前不知道如何调用块指针:与C++ & ObjC方法一样,它们需要正确设置人工的第一个参数,而lldb不知道如何对块执行该操作。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25482687

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档