我在內存管理中遇到了一些問題,然後嘗試使用intrument工具修復它。如何使用NSZombieEnabled oninterment Xcode 3.2.5
有關intrument使用NSZombieEnabled,我試着做這樣的。問題是我從來沒有找到一個複選框來在我的樂器中設置NSZombieEnabled激活。在這種情況下,我使用xcode 3.2.5,仍然在IOS 4.2上。
這是從顯示NSZombieEnabled沒有一個複選框儀器截圖激活:
我做錯了什麼? 幫我請
謝謝
我在內存管理中遇到了一些問題,然後嘗試使用intrument工具修復它。如何使用NSZombieEnabled oninterment Xcode 3.2.5
有關intrument使用NSZombieEnabled,我試着做這樣的。問題是我從來沒有找到一個複選框來在我的樂器中設置NSZombieEnabled激活。在這種情況下,我使用xcode 3.2.5,仍然在IOS 4.2上。
這是從顯示NSZombieEnabled沒有一個複選框儀器截圖激活:
我做錯了什麼? 幫我請
謝謝
爲什麼不安裝新的Xcode 4?在那裏你可以很容易地在Scheme的Arguments for Debug選項卡下設置Scheme中的EnvironmentVariables。
要檢查它實際上是設置我使用此代碼...
if(
getenv("NSZombieEnabled") || getenv("NSAutoreleaseFreedObjectCheckEnabled")
) {
NSLog(@"--------------------------------------->NSZombieEnabled/NSAutoreleaseFreedObjectCheckEnabled enabled!");
}
有一個簡單的方法,使NSZombie如果你是通過執行涉及XCode的第4版以下簡單步驟:
請點擊名稱爲Product choose - > edit scheme - > arguments選項卡的方案下拉條,然後在環境變量列中添加NSZombieEnabled,在值列中添加YES ...現在您已經通過使NSZombie在程序中找到錯誤來完成。
當你運行你的應用程序,你會得到一個錯誤信息在應用程序崩潰設定NSZombie狀態啓用,但最初使NSZombie之前,你可能會發現很難找出在自動釋放池什麼也正是錯誤的,就像死機,目前使用objective-c,BAD_ACCESS錯誤等gdb中斷...通過啓用NSZombie,你可以找到什麼是正確的問題,如不正確的釋放,試圖重新訪問,或不正確的釋放內存等。錯誤可能是以下種類:
-[ExampleProgramViewController alertView:didDismissWithButtonIndex:]: message sent to deallocated instance 0x7068f70
代碼必須執行什麼方法? – 2011-04-20 07:18:13
任何地方,我把它放在開始的某個地方,所有我的其他調試輸出開始之前,我可能會忽略它... – user387184 2011-04-21 19:47:20