2011-03-22 76 views
2

我有一個MonoTouch應用程序,我在調試中構建並上傳到設備。我在調試器中運行應用程序,並且應用程序在沒有調試器捕獲任何東西的情況下死亡。我有一個.crash日誌。我跑:無法象徵MonoTouch程序的崩潰日誌

symbolicatecrash myapp.crash myapp.dSYM

它得到了蘋果的東西像CFRunLoopRunInMode和UIApplication的符號信息,但不適合在我的計劃什麼。

我需要用不同的方式來象徵MonoTouch崩潰日誌嗎?

+0

dSYM文件是否完全相同?我所有的構建在Xcode組織者這裏都表現得很好。 – 2011-03-22 23:25:58

+0

您還可以在Xcode或iPhone配置實用程序中檢查託管堆棧跟蹤中的iPhone控制檯。 – 2011-03-22 23:26:20

+0

是的,它是完全相同的構建。下次,我將嘗試iPhone控制檯和配置實用程序。 – Mike 2011-03-23 01:19:06

回答

1

我們有同樣的問題,我們創建了一個解決辦法...

當我們跑了-v參數(詳細)symbolicatecrash我們看到有人抱怨不具有的dSYM包中的二進制文件。所以我們手動將應用程序包內的二進制文件複製到dSYM軟件包中並且工作正常。類似於[MyProject] .app/[MyProject]到[MyProject] .app.dSYM/[MyProject]。

然後,我們創造了這個作爲一個自定義的命令來運行編譯後:

cp ${TargetDir}/${ProjectName}.app/[MyProject] ${TargetDir}/${ProjectName}.app.dSYM/${ProjectName} 

注[MyProject的]部分作爲應用程序包創建的二進制是一個不同的名稱項目名稱爲我們一些原因。

現在,所有從終端和Xcode組織者內部構建的符號都很好。我希望有一種更少的創可貼方式,但我們處於時間緊迫狀態,而且這種方法很有效。

0

tholsens的答案是正確的,但使用Xcode的時候> = 4.3,你需要先運行Xcode的選擇(這是作爲應用程序安裝):

sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer 

否則你會得到奇怪的錯誤,如「不包含切片armv6'等。