2009-10-22 32 views
0

我正在使用'malloc_error _break'來解決雙重空閒錯誤。從iphone上的內存地址接收對象

堆棧跟蹤不會引導我到特定的行或對象(僅限於彙編代碼)。

我所看到的是對象地址:

...的malloc:***錯誤對象0xfa1340:雙免費

我怎樣才能找到哪個對象這個地址代表? (0xfa1340)

(我試圖找到它在「ObjectAlloc」工具 - 但不能))。

謝謝!

回答

1

你想變成n個殭屍。這樣做會導致已釋放的對象不被釋放,但它們會被混入殭屍對象中,這樣您就可以看到收到的消息。

您可以通過將環境變量NSZombieEnabled設置爲YES來關閉它。信息結帳this technote。

0

讓我知道是否有更簡單的方法。

我這樣做的方式是:Product-> Profile。這將打開儀器。我選擇了殭屍。然後,當應用程序崩潰時,我點擊Statistics,選擇Objects List,然後點擊十六進制地址旁邊的小箭頭。它會顯示它代表的對象。