我想調試一個iPhone應用程序(iOS模擬器4.1)的小原型,編譯爲調試,與所有配置顯然確定。Xcode停在斷點,似乎掛起
該應用程序使用Cocos2d圖形引擎和GDataXMLNode庫(用於讀取XML)。沒有太多東西在發生。但是在某些方法上,如果我設置了一個斷點,gdb只是「停止」。
這裏的調試器的狀態欄它擊中後,他的斷點:
而這裏有斷點(sshot)代碼:
注 :斷點可以在該函數中的任何地方,並且是相同的。
這是調用代碼(從另一個對象)
self.map = [SimulationLoader loadMap];
無編輯按鈕的工作時,設置斷點的「loadMap」內部(步驟到的,失步,然後,繼續執行,等等)我可以停止和/或重新啓動調試,它可以工作(但可以回到開始)gdb提示符會讓我寫,但沒有任何反應,我無法查看對象值或任何與調試有關的信息。恢復執行,它不會做任何事情。
奇怪的是,如果我在之前放了一個斷點或之後該行(loadMap),它都可以工作,我可以步出或進入,調試它並完成我想要做的一切。
我錯過了什麼?
「失敗」斷點被擊中(並且「掛起」)幾秒鐘後,堆棧窗口清除。我相信所有這些都是因爲gdb已經停止了,但問題是,爲什麼它會停在那裏?這有什麼限制?
我正在編譯與LLVM GCC 4.2什麼是值得的(但可能會改變其他如果這是問題,還沒有嘗試過,因爲我不太瞭解這些差異)。