我遇到了很多帶有XCode最新版本的實例(我相信這是自4.2版左右發生以來的事情)堆棧在拋出異常時進行跟蹤是可悲的,缺乏細節。XCode中神祕的堆棧跟蹤不足導致錯誤發生的位置沒有上下文
在這裏的screeshot說明了一個這樣的情況;事實上,這種情況至少有一些上下文(這表明它發生在JKArray類),其中很多時候我什麼也得不到,但「內部」堆棧項(線程中只有2-3個條目,沒有一個駐留在用戶代碼或我可以看到的任何東西)。即使在這個例子中,我不知道JKArray在哪裏被分配或釋放,所以我不知道什麼是實例或問題在哪裏。
思考:
- 我已經試過 「關於例外」 斷點增加一個通用
- 沒有輸出可用一些小的信息;在這種情況下:「malloc:*對象0x10e18120錯誤:指針被釋放未分配*在malloc_error_break中設置斷點以進行調試」。雖然這樣做並沒有讓我有任何進一步的,但是,因爲斷點被擊中在同一個堆棧作爲例外...
- 我試過切換到其他調試器
- 我試過使用我自己的自定義異常處理程序
- 我試過使用Profiler來查找泄漏。沒有我能找到的泄漏。
無論我做什麼,我似乎都無法隔離困擾我的應用程序的問題。此外,這些問題似乎每次都不完全一樣,這可能是由於我的應用程序中存在大量的併發問題......所以我沒有一個很好的方法來解決這些問題。
編輯:在這個特殊的例外情況下,我確實最終找到了原因。我試圖[發佈]和反對[自動發佈] d。然而,所有這些都發生在我的代碼中。我不明白爲什麼XCode不會給我一個像樣的堆棧跟蹤來幫助我找到問題,而不是強迫我通過我的整個應用程序來尋找...
可以肯定的是,您是否嘗試使用NSZombie進行調試? – 2012-07-29 08:04:47