2

调试器让我拖动小绿线指针,但它似乎根本没有效果,当我踩它时,它的行为就像我从未拖动它一样。

只是想知道错误是否是:

  • 它没有正确更改当前执行指针,或者
  • 它让我可以完全拖动它。
4

2 回答 2

7

Xcode 从能够从左侧拖动指令指针更改为全新的可视项并将其移动到最右侧。

汉堡图标(如下图所示)实际上是当前指令指针的拖动手柄。

在此处输入图像描述

于 2018-06-08T00:37:54.577 回答
4

在 Xcode 中调试时可以更改当前的执行行吗?

是的,它可以改变。

在您跨步之后,它可以工作,但从下一次单击开始。

看这个例子:

假设绿色箭头在“a”中

>>  NSLog(@"a");
    NSLog(@"b");
    NSLog(@"c");
    NSLog(@"d");
    NSLog(@"e");
    NSLog(@"f");

它会进入一些堆栈,当您“跨步”时将打印这些堆栈。然后它移动到“b”。

作为:

    NSLog(@"a");
>>  NSLog(@"b");
    NSLog(@"c");
    NSLog(@"d");
    NSLog(@"e");
    NSLog(@"f");

然后“b”进入堆栈,它会被打印出来。现在通过拖动将 >> 更改为“e”,如下所示:

    NSLog(@"a");
    NSLog(@"b");
    NSLog(@"c");
    NSLog(@"d");
>>  NSLog(@"e");
    NSLog(@"f");

现在“b”将被打印出来,指针将移动到下一条语句,即“e”。

如果您再次向后或向前移动它,它会改变它的位置,但会打印“e”,因为它已经保存在一些准备打印的堆栈中。

于 2013-04-04T05:33:27.473 回答