2014-09-23 81 views
9

我有一個iOS(7.1)應用程序,由於EXC_BAD_ACCESS而崩潰。如果我沒有錯,就會發生這種情況是由於使用了一個已經解除分配的對象。經過一番搜索後,我發現啓用Zombie對象有助於指出錯誤行。當我使用xcode 5.1.1時,我已經完成了以下操作來啓用殭屍對象使用Xcode 5.1.1在iOS中啓用和調試殭屍對象

Product -> Scheme -> Edit Scheme


然後,檢查 Enable Zombie Objects複選框,

Checking <code>Enable Zombie Objects</code>


後來我到了 儀器面板,選擇 殭屍,點擊 檔案,得到了這,

iOS simulator and Instruments panel


現在 模擬器(左背景),其中有一個 buttontextfield正在運行的空白,也是我無法理解 儀器面板上的任何東西。

下一步應該是什麼?我的意思是我怎麼能得到導致訪問不良的線路?我堅持了幾個小時,但仍然無法找到該程序。

任何幫助表示讚賞。

回答

5

訪問解除​​分配的對象並不是獲得EXC_BAD_ACCESS的唯一原因。其他導致訪問錯誤的原因包括訪問nil指針並超過數組的邊界。

看着你的截圖,你沒有使用一個釋放對象。如果您使用的是釋放對象,樂器中的殭屍模板會讓您知道。儀器會顯示類似以下內容的消息:

enter image description here

你的下一個步驟應該是在Xcode中設置一個例外斷點。當您的應用程序崩潰時,Xcode會在發生崩潰的位置暫停您的應用程序。要設置異常斷點,請選擇View> Navigators> Show Breakpoint Navigator來打開斷點導航器。點擊導航器底部的+按鈕,然後選擇添加異常斷點。

+1

是的,我完全是這樣做,現在試圖找出爲什麼一些簡單的語句產生異常! – Sibir 2014-09-26 07:42:03