“在当前上下文中没有符号XXX”,用于调试XCode ip *项目中的特定类

时间:2010-09-06 18:30:27

标签: iphone xcode debugging ipad variables

我随机收到此错误,我无法找到解决方法:变量窗格(右上角)为空白,gdb“po”命令无法打印任何变量。

Debugger with no variables

“po”命令甚至不知道“自我”: No po either.

此问题专门针对MGMinimap类中的所有方法。无处。我可以从A调试并查看self和其他人,然后一旦进入MGMinimap,变量窗格就像上面的图像一样空白,而gdb根本不起作用。

此问题的临时解决方案是在XCode中创建一个名为egcode的新类。 MGMinimapNew,将真实类的.h和.m中的所有内容复制粘贴到新类中,将旧类文件重命名为例如MGMinimapOld.m|h,然后将新课程重命名为MGMinimap.m|h。这样做,事情又开始了。仍在寻找真正的答案。

更新以回答 Rob Napier:

  • 运行>与调试器同步。我一直对此寄予厚望。偶尔它甚至可以工作。
    • 不幸的是,这不是其中一种情况:)
  • 选择其他堆栈帧,然后再次选择此堆栈帧。
    • 没有变化
  • 切换线程并切换回来。
    • 没有变化
  • 步结束。经常到下一行会重新同步。
    • 没有变化

3 个答案:

答案 0 :(得分:1)

它是一个Xcode错误/ wierdness。尝试删除所有断点并进行全面清理。

如果这不起作用,请确保您的编译器没有从LLVM中溜走。

安装XCode4然后返回XCode3后,我遇到了各种各样的问题

答案 1 :(得分:0)

这通常意味着您引用的对象超出了范围。我会检查变量或对象实例是否仍在范围内。

答案 2 :(得分:0)

为什么呢?因为Xcode / gdb集成是......非常......有时它只是不知道你在哪里。你可以尝试一些事情来增加破坏性:

  • 运行>与调试器同步。我一直对此寄予厚望。偶尔它甚至可以工作。
  • 选择不同的堆栈帧,然后再次选择此堆栈帧。
  • 切换线程并切换回来。
  • 步结束。经常到下一行会重新同步。

我希望有一个永远有效的神奇子弹。有时gdb会迷路。