首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >调试信息"DWARF“和崩溃日志

调试信息"DWARF“和崩溃日志
EN

Stack Overflow用户
提问于 2019-01-11 00:41:16
回答 1查看 583关注 0票数 0

我试图将我对"DWARF“vs "DWARF with dSYM file”调试信息格式的理解与我在不同iOS构建配置的崩溃信息中看到的信息格式相对应。

我正在尝试修复一个问题,默认情况下,使用调试配置构建时的崩溃不是象征性的。这些是我在修复问题之前的构建设置-

剥离链接产品-调试-否,发布-是

复制时剥离调试符号-调试-否,发布-是

调试信息格式-调试- DWARF,发布-带有dSYM文件的DWARF

让它工作的是将调试信息格式设置为"DWARF with dSYM File“,以便进行调试配置。

我的问题是-如果我指定不应该将产品的符号剥离到dSYM文件中(在带链接的产品设置中),为什么我需要将格式设置为“使用dSYM文件矮化”?

我的理解(可能是错误的)是,如果我将它设置为DWARF,那么所有的调试信息都将在应用程序二进制文件中,并且我不需要单独的dSym文件来进行符号化?请帮助我更好地理解这一点。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-01-11 03:32:15

在苹果的平台上,DWARF永远不会包含在可执行文件中(除了展开信息)。启用DWARF调试信息只意味着.o文件包含DWARF格式的调试信息。不过,链接器不会将其带入可执行文件中。

如果请求dSYM文件,则单独的构建步骤将使用dsymutil将调试信息从.o文件收集到dSYM包或文件中。

调试器可以在需要时使用可执行文件中的映射来查找.o文件中的调试信息,假设您是在构建计算机上进行调试的。这就是为什么调试构建通常不需要dSYM文件的原因。Symbolication没有可执行文件,只有它的UUID。它可以使用UUID查找dSYM,但它没有查找.o文件所需的信息。

请看一位苹果开发人员参与实现这些东西的this answer。还有,this older wiki article他写道。

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

https://stackoverflow.com/questions/54133246

复制
相关文章

相似问题

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