代码之家  ›  专栏  ›  技术社区  ›  TalkingCode

Xcode调试问题

  •  1
  • TalkingCode  · 技术社区  · 14 年前

    我对Xcode调试器有点问题。在我看来,“Step-In”函数并没有正常工作。或者就像我期望的那样。

    我可以介入任何方法调用,只要它没有返回值:

    [myObject DoSomething];
    

    这可以找到,但是如果方法有返回值,就没有步骤。调试器只是跳过了该方法。

    double b = [myObject CalculateSomething];
    

    如果我对函数而不是方法执行同样的操作,调试器将始终进入函数调用。不管它是否有返回值。

    这是虫子吗?它是一个功能吗?是这样的吗? 我在不同的机器上用当前的Xcode和Xcode 4 Beta进行了测试,但是调试器拒绝使用返回值的方法。

    编辑

    是的,我处于调试模式。我没有编译器错误,没有警告。我可以随时重现这个问题。方法计算方法->只返回5;调试器不会单步执行。之后值不为零,程序运行良好。

    只有调试器拒绝使用返回值单步执行该方法或任何其他方法。

    3 回复  |  直到 14 年前
        1
  •  4
  •   rjobidon    14 年前

    在调试项目设置中,必须禁用 代码优化 优化级别为“无”的选项。

    祝你好运!

    资料来源: Working with Xcode Build Settings

        2
  •  0
  •   TechZen    14 年前

    我在Xcode 3.2.3上没有看到这个问题。

    但是,我也看到过这样的情况:调试器对针对嵌入方法返回的对象调用的方法感到困惑。

    id myResult=[[self returnAnObject] tellObjectToDoSomething];
    

    有时调试器似乎不知道要放入哪个方法,或者“忘记”行上有两个方法调用。

    如果您有自定义访问器,那么您可以始终插入访问器而不是外部方法(即。 tellObjectToDoSomething .)

        3
  •  0
  •   Rose Perrone    11 年前

    关闭代码优化。在生成设置中,更改:

    enter image description here 致:

    enter image description here