2012-08-09 51 views
0

我一直在試圖解決這個崩潰,只是不知道從哪裏開始。有人可以幫我弄清楚如何使用Xcode的工具來正確導航這些信息來找到罪魁禍首?我甚至不知道這些細節是:如何追蹤CFRetain崩潰?

enter image description here

回答

1

儀器工具應該是您的第一個呼叫端口 - 特別是泄漏和分配分析儀。

要使用它,請在Xcode的產品菜單中選擇Profile選項。

您可能想要使用NSZombie對象進行調查,該對象旨在捕捉對象的過度釋放。

這當然可能是你只是將一個指針傳遞給不是Core Foundation/Cocoa對象的地方。

1

的Xcode的調試良好的第一步通常是設置一個異常斷點。爲此,請選擇左邊欄中的例外選項卡,然後單擊底部的加號並選擇例外斷點。這可以提供幫助,因爲它會在拋出異常時暫停執行,從而更容易追蹤。

也就是說,基於你發佈的屏幕截圖,它看起來像一個對象被釋放兩次,所以這可能沒有多大幫助。在整個代碼中使用日誌語句或附加斷點可能會幫助您追蹤問題發生的位置。

屏幕截圖中顯示的詳細信息是編譯後的彙編代碼,用被調用的內容註釋。 CFRetain被可可內部使用來釋放對象(即在執行-release時)。