解决Instruments没法找到调试符号表的问题

1 Debug information format

这里原先的设置是DWARF,什么是DWARF,他与熟悉的dSYM文件什么关系?查了一下。
“DWARF与dSYM的关系是,DWARF是文件格式,而dSYM每每指一个单独的文件。在Xcode中若是不作特殊制定,debug information是被保存在executable文件中,能够使用dsymutil从executable中提取dSYM文件。”函数

将选项调整为,DWARF with dSYM File,再次使用Instruments来profile发现可以定位的具体的函数名。改问题解决。工具

 

 

 

分析多是Instruments工具回去读取调试目标匹配的dsym文件,而当输出调试信息格式使用dwarf时,调试信息输出在了执行文件中,没有输出到dsym文件中,致使Instruments工具没法读取dsym文件,找不到符号表,结果就是没法定位函数名了。优化

二、编译优化选项

在调试的时候尽可能,保持零优化的模式,这样可以保证符号表的完整性。关于具体调试选项的描述能够参考gcc的文档。debug

相关文章
相关标签/搜索