2011-05-05 51 views
0

我在我的應用程序中遇到了崩潰。這不是100%的重現率崩潰。從崩潰日誌和dSYM中,我可以得到崩潰發生在某個cpp文件行的位置。但大部分時間應用程序運行良好。所以我不知道是什麼導致它崩潰。我可以在它崩潰的cpp行中獲得更多信息,例如應用程序崩潰時此行中的一些變量值等。歡迎任何建議。謝謝!關於.dSYM和GDB

回答

0

你的崩潰日誌有關於它的寄存器的狀態信息,並且是非常有用的。但是,除此之外,您無法從崩潰報告中恢復正在運行的應用程序的狀態。

+0

崩潰日誌能像PC中的轉儲一樣工作嗎?轉儲可以像破發點一樣工作,它可以停止在程序崩潰的地方,我可以輕鬆地查看callstack中的所有信息。 – snail 2011-05-28 07:59:45

+0

崩潰日誌不是核心轉儲;沒有任何內存狀態是已知的。您唯一能做的就是在調試器中運行應用程序,在崩潰日誌中提到的行上設置一個斷點,並嘗試重現崩潰狀態或以其他方式檢查崩潰點的狀態,以嘗試找出崩潰的原因發生。 – bbum 2011-05-28 15:53:49

0

零星的錯誤,例如這可能是最困難的追捕。

首先,我建議採取的代碼仔細看?例如這條線上是否有指針的取消引用?您的故障記錄是否表明錯誤發生在踏板返回到運行循環之前或之後?你能用一個異常來包圍這條死機線,並在catch塊中記錄狀態嗎?

它將幫助,如果你發佈這會導致崩潰的代碼!