gpt4 book ai didi

c++ - 在没有调试符号的情况下在 Xcode 中调试 dylib

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:25:25 25 4
gpt4 key购买 nike

我正在 Xcode 5 中构建一个链接到外部动态库(OpenCV 2.4.6,通过 macports 安装)的 C++ 应用程序。这些动态库似乎是在没有调试符号的情况下编译的,因为当我在其中遇到错误时,我看不到源代码;我看到的只是汇编代码。

我已经从 OpenCV 网站单独下载了 OpenCV 源代码。有没有办法让我告诉 Xcode 在哪里寻找 dylib 的源文件,以便我可以在 Xcode 调试器中单步执行 OpenCV 代码?

最佳答案

不,这是不可能的。当使用调试支持编译库时,附加数据被捆绑到共享库中,其中包含“地址 0x00240008 对应于 main.c:24”、“地址 0x0024001a 对应于 main.c:25”等行的映射. 如果模块是在没有调试支持的情况下构建的,那么文件现在只是包含机器代码的二进制 blob,调试器无法将机器语言翻译回源代码。

但是,由于您拥有源代码,您可以重新编译库以包含该信息并安装您的自定义版本。对于 OpenCV,这将是这样的命令:

cmake -DCMAKE_BUILD_TYPE:=Debug .

关于c++ - 在没有调试符号的情况下在 Xcode 中调试 dylib,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20134498/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com