【问题标题】:Xcode stops at breakpoints and seems to hangXcode 在断点处停止并且似乎挂起
【发布时间】:2010-11-08 21:09:17
【问题描述】:

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

应用程序使用 Cocos2d 图形引擎和 GDataXMLNode 库(用于 XML 读取)。没有太多的事情发生。但在某些方法上,如果我设置断点,gdb 就会“停止”。

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

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

注意:断点可以在该函数中的任何位置,并且是相同的。

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

self.map = [SimulationLoader loadMap];

当在“loadMap”中设置断点时,所有编辑器按钮都不起作用(进入、退出、下一步、继续执行等)。我可以停止和/或重新启动调试并且它可以工作(但会继续回到开头)。gdb 提示会让我写,但什么也没有发生。我无法查看对象值或任何与调试相关的内容。我无法恢复执行,它不会做任何事情。

奇怪的是,如果我在该行(loadMap)before 或after 放置一个断点,一切正常,我可以退出或进入,调试它并做我想做的一切。

我错过了什么?

在命中“失败”断点(并“挂起”)几秒钟后,堆栈窗口将被清除。我相信这一切的发生是因为 gdb 已经停止了,但问题是,为什么它会停在那里?这有什么限制?

我正在使用 LLVM GCC 4.2 进行编译,以获得价值(但如果出现问题,可能会更改为其他版本,因为我不太了解差异,所以没有尝试过)。

【问题讨论】:

    标签: iphone debugging xcode3.2 ios4


    【解决方案1】:

    有什么东西(可能在您的 Map 类中?)需要时间安排吗?例如,在该位置触发断点而中断的双击?

    (即,没有断点 => 已注册双击,断点 => 在断点命中后进行第二次点击,因此仅注册了单击。)

    我在你的代码中没有看到类似的东西,但这种东西可能会在断点开/关之间显示出神秘的不同行为。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-09-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-05-28
      • 2015-05-11
      • 1970-01-01
      相关资源
      最近更新 更多