2013-11-28 41 views
9

我有一個在iPhone OS 7.0.4上生成的崩潰日誌。我有適當的.app和.dSYM文件。當我symbolicate崩潰日誌和Xcode 5,那就說明我是這樣的:___lldb_unnamed_function在符號化的崩潰日誌中

Thread 0 Crashed: 
0 MyProject   0x001df98a ___lldb_unnamed_function6108$$MyProject + 42 
1 MyProject   0x001e0c49 ___lldb_unnamed_function6119$$MyProject + 9 
2 MyProject   0x002928d5 ___lldb_unnamed_function8439$$MyProject + 13 
3 MyProject   0x0027fa1f ___lldb_unnamed_function8072$$MyProject + 287 
4 MyProject   0x0028e657 ___lldb_unnamed_function8368$$MyProject + 27 
5 MyProject   0x002888d1 ___lldb_unnamed_function8257$$MyProject + 201 

當我symbolicate崩潰日誌和Xcode 4,它產生正確的結果 - 它讓我從我的應用程序的類和方法事故發生的地方。堆棧跟蹤中沒有涉及匿名塊。

Xcode 4和Xcode 5如何產生不同的符號化崩潰日誌?當我運行在詳細模式下symbolicatecrash腳本,它顯示了兩種Xcode的相同的結果:

done. 
1 binary images were found. 
Running /Applications/Xcode.app/Contents/Developer/usr/bin/atos -arch armv7 -l 0xd1000 -o '<PATH>/MyProject.app/MyProject' 0x002928d5 0x002888d1 0x001e0c49 0x0027fa1f 0x000d8f27 0x001df98a 0x0028e657 | 
got symbolicator for <PATH>/MyProject.app/MyProject, base address 4000 
+0

'xcrun -f atos'是否顯示正確的最新Xcode安裝路徑? – Kerni

+0

@Kerni是的,我在Xcode 5是單個Xcode安裝的機器上測試過它。還有一臺Xcode 4和5的機器,xcrun也顯示了Xcode 5的路徑。 –

回答

2

我一直有問題和Xcode symbolicating:他們正確的.app和.dSYM文件和光潔度都與這些線匹配5以及

所以我訴諸手動使用atos手工符號化我的符號。

atos -arch armv7 -o myApp.app/myApp 0x178e9e 
-- 
Warning: /usr/bin/atos is moving and will be removed from a future OS X release. 
It is now available in the Xcode developer tools to be invoked via: `xcrun atos` 
To silence this warning, pass the '-d' command-line flag to this tool. 
-- 
AFJSONEncode (in myApp) + 434 

警告看起來有趣,所以我決定嘗試xcrun ATOS

xcrun atos -arch armv7 -o myApp.app/myApp 0x178e9e 
___lldb_unnamed_function6926$$myApp (in myApp) + 434 

這是給我一個無名的功能。

所以我的猜測是Xcode 5使用xcrun atos,它有一個bug。

使用atos確實幫助我診斷問題並修補問題。我沒有安裝Xcode 4。也許你可以驗證Xcode 4是否產生與atos相同的結果?我跟着這個question

我記好我的指令來編寫一個腳本來symbolicate崩潰日誌:/

+0

我不得不使用'arm64'來強制所有手臂類別的符號。它給出了錯誤的錯誤「armv7找不到」,直到我這樣做,因爲我的dylib包含所有的符號。 – EntangledLoops

0

您必須在Xcode 4.6創建的構建並可能是您現在升級到xcode 5。您需要將您的xcode開發人員目錄設置爲xcode 4.6開發人員目錄才能工作。

0

當我在iOS 5設備(如original iPad)上調試我們的應用程序時,我忘記退出Spark Inspector,我得到了這類問題。

0

崩潰日誌中有相同的___lldb_unnamed_function符號。

您可以從發生崩潰的KSCrash(第三方iOS Crash Reporter)獲取實際的類和方法。
也支持未被捕獲的C++異常!