iOS   发布时间:2022-05-04  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了c++ 将源附加到Xcode中的二进制dylib大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

概述

我的iOS应用程序中有一个dylib框架,该框架是在另一台机器上编译的. 我检查了我的机器上的源,并尝试指示lldb映射源代码路径使用: setTings set target.source-map /source/code/path/in/dylib/prefix /source/code/path/on/my/machine/prefix 没有用,仍然看到组装. 注1:dylib是从同一版本的
我的iOS应用程序中有一个dylib框架,该框架是在另一台机器上编译的.
我检查了我的机器上的源,并尝试指示lldb映射源代码路径使用:

setTings set target.source-map /source/code/path/in/dylib/prefix /source/code/path/on/my/machine/prefix

没有用,仍然看到组装.

注1:dylib是从同一版本的Xcode中的C代码编译的.

注意#2:我使用NR_994_11845@ -pa / path / to / dylib来确定文件路径是否嵌入到调试信息中,而且它们是,由于某种原因,lldb不会播放.

谢谢

updatE

我遵循了Jim Ingham的回答,并创建了一个自动化脚本,该脚本可以作为本文中的一个主要链接提供:https://medium.com/@maxraskin/background-1b4b6a9c65be

解决方法

要调试在一台机器上构建但在另一台机器上进行调试代码,您必须构建一个dSym,并在调试机器上可用.如果你没有这样做,没有什么可以工作.

接下来要检查的是,lldb正在拾取dSym.此页面有关于此过程如何工作的一些描述:

http://lldb.llvm.org/symbols.html

但是如果其他所有操作都失败,您可以使用add-dsym命令手动添加.

如果仍然没有解决您的问题,请在您的dylib中选择一些符号,然后执行以下操作:

(lldb) image lookup -vn <SymBOL_NAME>

或者在加载的dylib中交替找到一些地址,然后执行

(lldb) image lookup -va <ADDRESS>

如果lldb找到dSym并且调试信息正确,输出行之一应该是“编译单元”的条目.这就是调试信息说源文件的路径是什么.该路径的适当基础是您应该在target.source-map中使用的基础.如果您没有看到该条目,则该编译单元的调试信息将以某种方式丢失.

如果所有这些东西看起来都很好,lldb仍然没有看到源文件,那么你可能会遇到一个错误,在这种情况下,请提交一个http://bugreporter.apple.com错误.

大佬总结

以上是大佬教程为你收集整理的c++ 将源附加到Xcode中的二进制dylib全部内容,希望文章能够帮你解决c++ 将源附加到Xcode中的二进制dylib所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。