2015-04-02 86 views
4

我們使用Parse.com崩潰報告。將符號信息工作上載(日誌文件中的成功消息)並將崩潰報告發送到Parse.com網站上很簡單。Parse.com崩潰報告:堆棧跟蹤未被符號化

然而,堆棧跟蹤包含錯位的名稱和如果我們沒有上傳的符號信息對於我們自己的代碼沒有行信息,例如:

0 CoreFoundation __exceptionPreprocess @ 0x84 
1 libobjc.A.dylib objc_exception_throw @ 0x38 
2 CoreFoundation -[NSException raise] @ 0x8 
3 MyApp    _TToFC9MyApp23TestViewController13viewDidAppearfS0_FSbT_ @ 0x1f4 
4 UIKit    -[UIViewController _setViewAppearState:isAnimating:] @ 0x24c 

的符號信息的上傳成功。否則,崩潰報告將包含警告:此堆棧跟蹤是非解碼的。要獲得符號...但我們沒有得到這個警告。

它可能與發佈模式下的某些編譯器設置有關(我們只上傳發布版本的符號)?或者什麼可能是非標記堆棧軌跡的原因?

+0

你有沒有得到這個工作? – bmurmistro 2015-08-23 02:15:31

+0

不,仍然沒有工作。 – Codo 2015-08-23 10:17:40

回答

3

我打算假設你在使用Swift? - 如果是這樣,那麼有一個很好的寫了對邁克灰博客爲什麼以及如何發生這種情況:https://mikeash.com/pyblog/friday-qa-2014-08-15-swift-name-mangling.html

您也可以還原函數通過發射端和運行xcrun swift-demangle SYM的名字 - 但你需要做相同版本在編譯應用程序時使用的swift編譯器。

感謝, 丹

+0

這不完全是我想要實現的。我想將足夠的符號信息上傳到parse.com,以便我可以在那裏看到詳細的堆棧跟蹤,沒有錯位的名稱和包含行信息。 – Codo 2015-04-08 08:43:02

+1

不幸的是,目前這是不可能的。 – 2015-04-12 18:46:59

+0

這是Swift的限制,是Apple的工具還是Parse.com的限制? – Codo 2015-04-12 19:53:27

1

我的兩分錢是你發送消息給解分配的對象,但沒有完整的堆棧跟蹤不能肯定。

+1

問題是:爲什麼堆棧跟蹤沒有符號化。我知道它爲什麼崩潰,因爲我故意導致測試崩潰報告。 – Codo 2015-04-08 08:41:28

2

嘗試設置地帶調試符號在副本爲「否」:

我不知道如果這些未來的設置可以幫助你或沒有,但只是儘量設置爲NO 2個的其他設置:「帶鏈接的產品」和「部署後處理」

enter image description here

然後,如果仍然無法正常工作,測試在調試模式下您的應用程序。

+0

這是有道理的。目前發佈版本的「是」。如果它能工作,我會讓你知道的。謝謝。 – Codo 2015-04-11 06:40:37

+0

不幸的是,它只適用於Objective-C代碼。我有線路信息。但對於Swift代碼來說,沒有任何改變:名稱被破壞並且行信息丟失。 – Codo 2015-04-12 08:01:51

+0

你的回答並沒有真正的幫助,但我給了你賞金,因爲它比丹尼爾湯姆林遜的要好一些。 – Codo 2015-04-15 19:09:49

相關問題