调试器让我拖动小绿线指针,但它似乎根本没有效果,当我踩它时,它的行为就像我从未拖动它一样。
只是想知道错误是否是:
- 它没有正确更改当前执行指针,或者
- 它让我可以完全拖动它。
在 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”,因为它已经保存在一些准备打印的堆栈中。