2013-03-07 74 views
5

在Eclipse中,有沒有什麼方法可以找到哪個返回語句返回的方法沒有在每個返回語句記錄標誌?從Java中的方法退出點

例如:

@Override 
public boolean equals(Object obj) { 
    if (this == obj) { 
     return true; 
    } 
    if (obj == null) { 
     return false; 
    } 
    if (!(obj instanceof ABC)) { 
     return false; 
    } 
    ABC other = (ABC) obj; 
    if (var1 == null) { 
     if (other.var1 != null) { 
      return false; 
     } 
    } else if (!var1.equals(other.var1)) { 
     return false; 
    } 
    return true; 
} 

在這種情況下,我怎麼找到我的點equals方法返回的有哪些?

+12

使用調試器並在每個return語句上設置一個斷點。 – Marvo 2013-03-07 23:04:46

+0

也許這就是爲什麼一個好的做法是使每個功能單一返回... – m4573r 2013-03-07 23:07:23

+0

@Marvo這將工作。我可以進入調試模式並逐行執行。我不想在這個等於函數的150個回報上加上斷點。謝謝。 – 2013-03-07 23:10:30

回答

3

不,但更易於理解和調試的代碼可以使用表示結果的布爾型局部變量。

然後你可以看到調試器誰分配它時,返回值返回前。

+1

因此,如果我在變量聲明中放置了斷點,調試器在訪問變量時會暫停嗎?我將不得不嘗試一下。 – 2013-03-07 23:11:22

+1

它不會在每次訪問時暫停,但您必須將該變量賦值爲false而不是返回並在末尾處理布爾值。您可以在將變量分配給false的每個地方分配斷點 – Ron 2013-03-07 23:16:22

2

在調試模式下使用斷點。