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

时间:2013-04-03 23:33:20

标签: xcode debugging

调试器允许我拖动绿色小指针,但它似乎根本没有效果,当我步进它时表现得好像我从未拖动它。

只是想知道这个bug是不是:

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

2 个答案:

答案 0 :(得分: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”,因为它已经保存在一些可以打印的堆栈中。

答案 1 :(得分:4)

Xcode从能够将指令指针从左侧拖动到一个全新的视觉项目并将其移动到最右侧。

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

enter image description here