在iOS App开发过程中,我们会利用Xcode打包,生成.xcarchive的包文件,通过Xcode的Organizer工具可以管理、导出发布文件,相信iOS开发对于这些过程都相当的熟悉,这里就不再赘述。主要想说的是,打包之后的dSYM文件。
通过以下方式获取dSYM文件,首先打开Archives管理窗口,如下图:
每Archive一次,都会生成一条记录,找到当前记录所在的目录,如下图:
打开.xcarchive包文件会看到其目录结构,dSYMs中的dSYM包文件就是我们接下来要剖析的文件了。dSYM同样个包文件,打开之后,我们会找到一个二进制文件,如下图,例子中是一个叫Demo的二进制文件。
从目录名中,可以看出iOS使用的是DWARF文件结构,DWARF(可能的解释是:Debugging With Attributed RecordFormats)是一种调试文件结构标准,结构相当的复杂。关于DWARF的前世今生,从何而来,为何而来,如何发展,请参考DWARF官网或网上搜索。
dSYM文件的一个重要的作用在于当我们的程序发生崩溃,通过crash log或其他方式,会看到调用栈信息,通过log信息,我们并不知道具体