Xcode在断点处停止并且似乎挂起

时间:2010-11-08 21:09:17

标签: iphone debugging xcode3.2 ios4

我正在尝试调试一个iPhone应用程序(iOS模拟器4.1)的小型原型,编译为Debug,所有配置显然都可以。

该应用程序使用Cocos2d图形引擎和GDataXMLNode库(用于XML读取)。没有太多东西在继续。但是在某些方法中,如果我设置断点,gdb只是“停止”。

这是调试器遇到断点后的状态行:

alt text

这是具有断点的代码(sshot):

alt text

note :断点可能位于该函数的任何位置,并且它是相同的。

这是调用代码(来自另一个对象)

self.map = [SimulationLoader loadMap];

当在“loadMap”中设置断点时(步入,跳出,下一步,继续执行等),没有编辑器按钮工作。我可以停止和/或重新启动调试并且它可以工作(但是回到开头).gdb提示符,让我写,但没有任何反应。我无法查看对象值或任何调试相关。我无法恢复执行,它不会做任何事情。

奇怪的是,如果我将之前的之后的放置在那一行(loadMap)之后,它一切正常,我可以走出去或者调试它,做我想做的一切。

我错过了什么?

在“失败”断点被击中(并且“挂起”)几秒钟后,堆栈窗口清除。我相信所有这一切都是因为gdb停止了,但问题是,为什么它会停在那里?对此有何限制?

我正在使用LLVM GCC 4.2进行编译以获得有价值的内容(但如果问题可能会改为其他,请不要尝试,因为我对差异不太了解。)

1 个答案:

答案 0 :(得分:0)

有什么东西(可能在你的Map类中?)需要时间吗?例如,在该点触发的断点中断了一次双击?

(即没有断点=>双击注册,断点=>断点点击后第二次点击,所以只注册一次点击。)

我没有在你的代码中特别看到这样的东西,但是那种可以在断点开/关之间显示出神秘不同行为的东西。