iOS静态库调试符号未包含在dSYM中

iOS静态库调试符号未包含在dSYM中,第1张

概述我正在开发一系列将共享一个通用代码库的iOS应用程序.我已经开发了一个常用的代码库作为静态库,并希望它的主要应用程序的.dSYM文件中包含调试符号.我的理解是这是可能的,但我还没有得到它的工作. 在自己的项目中具有静态库作为目标的通用代码库.该项目被拖入主应用程序的项目.在主应用程序的目标的构建阶段,我将静态库添加为目标依赖关系,并在链接二进制库下添加.该项目根据需要构建和运行. 现在,如果我从主 我正在开发一系列将共享一个通用代码库的iOS应用程序.我已经开发了一个常用的代码库作为静态库,并希望它的主要应用程序的.dSYM文件中包含调试符号.我的理解是这是可能的,但我还没有得到它的工作.

在自己的项目中具有静态库作为目标的通用代码库.该项目被拖入主应用程序的项目.在主应用程序的目标的构建阶段,我将静态库添加为目标依赖关系,并在链接二进制库下添加.该项目根据需要构建和运行.

现在,如果我从主项目生成存档,我可以在Finder中查看该存档,并且它包含可以用于标识崩溃日志的.dSYM文件.但是,.dSYM只包含主应用程序的符号,而不是静态库的符号.为了过度确认,我运行了以下内容:

DWarfdump /path/to/app.dSYM

并且输出(大多数)不包含静态库中的任何符号.我发现唯一的例外是,我的主项目的AppDelegate是静态库中对象的一个​​子类,并且.dSYM中有超级类的条目.但是,其他类都不存在.

在静态库的项目目标的Build Settings中,我设置了以下内容:

>复制期间剥离符号:NO
>连接产品:NO
>生成调试符号:是
>默认隐藏的符号:NO

如果有人可以提供指导,我将非常感谢.

解决方法 静态lib符号会显示在应用程序的dSYM文件中,而DWarfdump会显示出来.
DWarfdump -a path/to/app.dSYM >dsymAsText.txt

这应该会显示lib的符号.

但是,如果你(正如我最近一样)寻找一个符号表来生成,只需要你的静态库,我就得出结论,这将是相当无用的;一旦编译成新的应用程序,这些符号和地址将全部更改,并且您将对所有内容有完全不同的偏移(如果我错了,请有人更正我).

我不完全确定有办法摆脱这一切.

总结

以上是内存溢出为你收集整理的iOS静态库调试符号未包含在dSYM中全部内容,希望文章能够帮你解决iOS静态库调试符号未包含在dSYM中所遇到的程序开发问题。

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

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1113038.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)

保存