【问题标题】:Xcode debugger stopped displaying local and self variablesXcode 调试器停止显示本地和自身变量
【发布时间】:2011-03-20 07:35:06
【问题描述】:

我完全不明白这一点,但是在使用 Xcode 3.2.3 调试我的 iPhone 应用程序时,我再也看不到任何本地人或 ivars。直到昨天下午,一切似乎都很正常,现在我只看到了全局变量和寄存器,这对我来说并不是很感兴趣。

有其他人有过这种经历吗?我觉得我疯了。调试器如何“忘记”向我显示变量?它的调试构建,非优化代码生成,断点工作,变量在哪里?

很抱歉我升级到 Xcode 3.2.3。那是多么大的错误。我没有留下深刻的印象。

哦,是的,我构建了一个模板应用程序只是为了看看它是否可以正常调试并且它确实可以,所以我正在查看项目设置中的差异,看看是否有线索。

【问题讨论】:

  • 调试器控制台说什么?
  • 我在那里看到了很多东西,我所有的 NSLogs 等等。和之前一样。幸运,因为看起来我将从这里开始调试它!
  • 我也遇到过这种情况,和你一样,一旦我尝试隔离问题,它就会消失。问题不在于调试器本身,问题在于缺少目标文件中特定方法信息的调试信息。在我的情况下,问题被隔离到一个特定的方法。同一个类中的其他方法都来自同一个源文件都可以。我认为弄乱项目设置不会为您做任何事情(但如果有,请报告)。我怀疑它可能特定于将项目迁移到 3.2.3。

标签: xcode variables debugging


【解决方案1】:

在我的情况下,它是调试的优化。

在构建设置中,优化级别被设置为调试和发布的最快。 我将 Debug 切换到 None 并解决了这个问题。

【讨论】:

  • 男孩,我已经非常接近使用我的工作站和服务器进行目标练习了!谢谢一堆。我需要更长的时间才能达到这一点!
  • 如果设置为最快。它可以使调试器发疯并提供不准确的消息!!!谢谢。
【解决方案2】:

关闭项目,打开终端,cd 进入<project>.xcodeproj 目录,删除所有<username>.* 文件(即删除所有除了 project.pbxproj),然后再次尝试打开你的项目。

(注意:不要担心您要删除的文件 - 它们只是针对窗口位置、保存的断点等的每个用户设置文件 - 重要的东西都在 project.pbxproj 中。)

过去也为我解决问题的另一件事是丢弃整个构建文件夹。

【讨论】:

  • 是的,我试过了(通过 Finder,但想法相同)。我在代码的不同点设置了三个断点。我到达的前两个,我看到本地人/自我/参数。当我到达最后一个(应用程序的最深处)时,我看到的只是全局变量/寄存器。代码中有一个本地变量,它的值已通过 NSLog 调用打印到控制台,但调试器没有显示它。另一个奇怪的事情是 Xcode 似乎不再有变量的工具提示。有人注意到了吗?
  • 也尝试删除构建文件夹 - 这有时可以清除“清理”无法解决的问题。
  • 也这样做了。经过多次挠头,我认为我的代码有严重问题。如果我在应用程序生命周期的早期设置断点,我会看到 vars。变量消失的唯一原因是该生命周期,现在我发现应用程序很快就会崩溃。所以,我现在想的是,我有一些严重的堆栈损坏,我需要处理它。
  • @Paul:是的,这是有道理的——如果你的堆栈被冲洗掉了,那么这很可能会让 gdb 感到困惑。
【解决方案3】:

我只是遇到了同样的问题,结果是我在项目设置中设置了哪个编译器。将其切换到 GCC 4.2,它们又开始出现了。

【讨论】:

    【解决方案4】:

    在我的构建设置中,Optimization Level 设置为 None 然后也遇到了同样的问题,对我来说,它通过以下步骤解决了:

    1-) 在您选择设备和模拟器的 xcode 上的运行按钮附近选择您的目标。

    2-) 然后转到所选目标的编辑方案

    3-) 现在检查 run 部分 Build Configuration 设置为 Debug

    4-) 现在检查 归档部分 Build Configuration 设置为 Release

    在我的案例中,存档部分设置为调试,我将其更改为发布及其作品。

    参考截图:https://i.stack.imgur.com/J6nGI.png

    【讨论】:

    • 有趣。必须有许多可能的问题导致问题中描述的行为。这个特定的答案解决了我的问题。
    【解决方案5】:

    Xcode 7.1 出现了同样的问题,虽然我不确定是否真的是更新,因为我在项目->构建设置。

    无论如何,我检查了我能找到的所有建议,但我的设置是正确的。

    更改产品->从 32 位到 64 位的目标已解决。我也可以通过从 64 位切换到 32 位来重现问题。

    【讨论】:

      【解决方案6】:

      我从 Xcode 3.2.3 升级到 3.2.4 并将 SDK 版本更改为 4.1,这个问题就消失了。其他解决方法对我不起作用。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-03-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多