2013-04-03 26 views
1

調試器讓我拖動綠色的小指針,但它似乎根本沒有任何作用,而且當我執行它時表現得好像我從未拖動過它。您可以在Xcode中調試時更改當前執行行嗎?

只是想知道,如果錯誤是:

  • ,這不是正確地改變當前執行的指針,或
  • ,它是讓我拖的東西都沒有。

回答

3

您可以在Xcode中調試時更改當前執行行嗎?

是的,它可以改變。

它可以工作,在你走完之後,但是從下一次點擊開始。

見這個例子:

假設的綠色箭頭是「一」

>> 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

有趣的,如果有些離奇的行爲。很高興知道它可以改變,但對我來說,如果我不能改變* current *(即下一個)指令,這似乎毫無意義。 – devios1 2013-04-04 18:23:14

+0

目前領先一步:D – 2013-04-04 18:24:13

+0

這是正常的,我不能從「如果讓」塊返回?我開始在功能3行開始調試後,我輸入「如果讓」阻止,如果我嘗試返回到功能的第一行我收到錯誤。 – 2018-01-26 11:40:10

相關問題