解決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

相關文章
相關標籤/搜索