我正在使用XCODE 4.2。每當我崩潰時,我都看不到崩潰的實際代碼行,而是始終在堆棧跟蹤中看到具有泛型異常處理程序的符號地址。我是否需要做一些設置來查看實際的代碼行崩潰。當XCODE崩潰時,線程在實際代碼行上沒有停止4.2
我正在使用XCODE 4.2。每當我崩潰時,我都看不到崩潰的實際代碼行,而是始終在堆棧跟蹤中看到具有泛型異常處理程序的符號地址。我是否需要做一些設置來查看實際的代碼行崩潰。當XCODE崩潰時,線程在實際代碼行上沒有停止4.2
如果你看看堆棧跟蹤,你會看到handle_uncaught_exception
。這意味着你的應用程序崩潰了,因爲拋出了異常並且沒有處理。通常,這意味着您嘗試使用解除分配的對象,或者嘗試訪問超出數組末尾的內容。
當然,在這一點上,很難說出哪裏出了問題。幸運的是,Xcode會讓你設置一個斷點來停止每當引發異常,這將給你更多的上下文。
這真的很容易;只需選擇「添加例外斷點」的位置:
然後再次運行你的應用程序,並在那裏被發現的錯誤,你會就停。
這是正常的,它發生在編譯時並不知道導致程序崩潰的確切來源。它們被稱爲運行時錯誤。你將在未來得到這麼多次。
要解決這個問題,只需手動調試程序。爲此,請縮小您認爲崩潰來源的位置,並通過點擊代碼旁邊左側邊緣上的clickIng添加斷點。
當您的程序到達該點時,它將停止運行並允許您手動跳線。然後你希望到達你的程序崩潰的地步。
你應該設置一個異常斷點。那回溯意味着你有一個未捕獲的異常。
廢話。通過設置異常斷點,可以很容易地識別來自未捕獲異常(幾乎是Cocoa中每個運行時錯誤)的運行時錯誤。 – 2012-03-13 04:02:34