我的應用程序運行良好,並且與預期的一樣,但由於某些原因,當我放置斷點時,進入/ over/resume會導致程序崩潰並伴隨EXC_BAD_ACCESS。這不會發生,如果我刪除/禁用斷點。在斷點處停止導致EXC_BAD_ACCESS
有什麼建議嗎?
我的應用程序運行良好,並且與預期的一樣,但由於某些原因,當我放置斷點時,進入/ over/resume會導致程序崩潰並伴隨EXC_BAD_ACCESS。這不會發生,如果我刪除/禁用斷點。在斷點處停止導致EXC_BAD_ACCESS
有什麼建議嗎?
從我可以看到,LLDB似乎在Xcode 4.2和4.2.1中被破壞。在「編輯方案」設置中切換到GDB。
切換到GDB後,斷點的工作方式與預期一致。
我使用的是LLDB,只要我有有效的表達式,我所有的斷點都能正常工作,只要我定義了一個無效的斷點(CCLayer中的super.position),xCode似乎關閉或崩潰,它甚至不允許我刪除無效表達式,因爲它不會在那裏破壞。當我轉換到GDB時,我可以看到無效表達式並將其刪除。然後我切換回LLDB並解決問題 –
這幫了我 –
正確的答案是更新到XCODE 5.0.2作爲另一位評論者指出下面。對不起,對Yellin G。=) – RanLearns
EXC_BAD_ACCESS
意味着你在某個地方有內存問題 - 當你期望它仍然在附近時(很可能是autorelease
的結果),很可能會發布某些內容。運行static analyzer找到它。我想你會看到崩潰,因爲調試器在加載斷點時積極佔用內存,因此在其他地方標記問題。
你在哪裏使用lldb而不是gdb?我使用Xcode 4.2.1和lldb進行系統化。切換回gdb(booooo)解決了這個問題。
對於它的價值,我有同樣的問題。我可以採用我知道的代碼是正確的,如果我用lldb進入它,它在達到斷點後崩潰。當我嘗試打印任何本地文件時,我也會得到這樣的輸出結果
(lldb) p self
error: use of undeclared identifier 'self'
error: 1 errors parsing expression
看起來像lldb在Xcode 4.2.1中被破壞。我現在唯一的建議是切換回gdb。
我使用Xcode 4.3.2和更新的Xcode調試自動LLDB(A彈出的對話框中,我確認)。這真是一場噩夢,當我步入任何函數調用8-9中的10時,它就會崩潰。
改回GDB好像現在好多了!
對於任何可能與Xcode 5.0.1和小牛隊經歷相同事情的人: 嘗試刪除所有方案並再次自動創建它們 - 爲我修復它。
重新創建這些方案對我無效。我注意到它發生在我的iOS 6設備(iPhone 5,iPad 2)上,但不是我的iOS 7設備(iPhone 4s)。 – Symmetric
奇怪的是,它發生在我的iOS 6 iPad 2上。嘗試在重新創建方案後刪除並添加斷點。 – Andrew
它現在正在工作,但我不知道爲什麼。我嘗試了很多東西......從設備上刪除應用程序,重新啓動它,重新啓動Mac等等。然後我遇到了另一個無關聯的問題(據我所知),Xcode永遠不會完成構建。我不記得我是如何找到它的,但事實證明我的鑰匙串已經與46,000個證書和93,000個名爲com.apple.ubiquity.peer-uuid的密鑰搞砸了。花了近一個小時纔打開鑰匙鏈!以下是幫助我解決問題的頁面的鏈接:https://discussions.apple.com/thread/3396579?start=0&tstart=0現在,這兩個問題都得到解決。去搞清楚! – Symmetric
這是XCode 5.0.1和Mavericks的錯誤。蘋果發佈了5.0.2,該錯誤已修復!
你能發表一些代碼嗎? – FreeAsInBeer
你使用的線程? –
我沒有使用線程。代碼是(我猜)是無關的,因爲它無論在哪裏崩潰我放置一個斷點。正如我所說,如果沒有斷點,沒有崩潰?! – Dann