我想调试一个iPhone应用程序(iOS模拟器4.1)的小原型,编译为调试,与所有配置显然确定。Xcode停在断点,似乎挂起
该应用程序使用Cocos2d图形引擎和GDataXMLNode库(用于读取XML)。没有太多东西在发生。但是在某些方法上,如果我设置了一个断点,gdb只是“停止”。
这里的调试器的状态栏它击中后,他的断点:
而这里有断点(sshot)代码:
注 :断点可以在该函数中的任何地方,并且是相同的。
这是调用代码(从另一个对象)
self.map = [SimulationLoader loadMap];
无编辑按钮的工作时,设置断点的“loadMap”内部(步骤到的,失步,然后,继续执行,等等)我可以停止和/或重新启动调试,它可以工作(但可以回到开始)gdb提示符会让我写,但没有任何反应,我无法查看对象值或任何与调试有关的信息。恢复执行,它不会做任何事情。
奇怪的是,如果我在之前放了一个断点或之后该行(loadMap),它都可以工作,我可以步出或进入,调试它并完成我想要做的一切。
我错过了什么?
“失败”断点被击中(并且“挂起”)几秒钟后,堆栈窗口清除。我相信所有这些都是因为gdb已经停止了,但问题是,为什么它会停在那里?这有什么限制?
我正在编译与LLVM GCC 4.2什么是值得的(但可能会改变其他如果这是问题,还没有尝试过,因为我不太了解这些差异)。