2011-03-06 35 views
0

我收到來自GDB的消息在控制檯上,如下所示:目標C - 如何找到在哪裏出現錯誤

2011-03-06 12:31:01.303 myProgram[3830:207] *** __NSAutoreleaseFreedObject(): release of previously deallocated object (0x61472a0) ignored 

如何找到這行程序(我假設被引用[ 3830:207]試圖釋放?

+1

它不像「哪一行試圖釋放」而不是「哪一行釋放了再次釋放的對象」,你應該嘗試找到。 – zneak 2011-03-06 17:51:48

+0

這是一個給定的。但是,我需要找出哪個對象是個問題,這是我唯一的線索。初始釋放錯誤或第二個錯誤。我只有第二個線索。 – mlewis54 2011-03-06 18:47:23

回答

2

對您的應用程序運行分配儀器。

特別是,「翻轉」分配工具,並打開殭屍檢測&軌道保留/釋放事件。

0

通常,這取決於您在執行的位置。如果您可以確定哪個類是負責任的,則更容易查明錯誤。行號;我在GDB reference找不到對3830的引用。

+0

我不確定這是行號。每當我收到錯誤或nslog時,就會出現207,如下所示:2011-03-06 13:38:15.466 myProgram [3946:207]錯誤1爲更新準備故事記錄,這是一條錯誤消息,當我在應用程序中顯示一條sqlite陳述失敗。這個nslog出現在這個類的700行左右。 – mlewis54 2011-03-06 18:40:39