2016-03-15 52 views
2

我想讓一個if語句只有在我調試時才變爲true。Eclipse Java調試器使if語句條件成立爲真

例子:

if(giveMyNumber() == 3){ 
    System.out.println("Is number 3"); 
} 

public int giveMyNumber(){ 
    return 1; 
} 

所以我想停止去調試器if語句,並以去裏面模擬爲(giveMyNumber()== 3) if和打印「是數字3「

+0

不知道你可以模擬'giveMyNumber()== 3',但如果你把它分配給變量,使用變量作爲條件,那麼你可以把它真的。 'boolean b = giveMyNumber()== 3;如果(b){}' –

+0

使用jUnit istead? –

回答

3

您可以使用名爲Force Return Eclipse的功能,返回值3

如果強制執行早期從非無效方法返回需要對錶達式進行評估。例如,如果某個方法返回false,則可以通過選擇顯示視圖中的表達式並調用強制返回來返回true值。在以下示例中,elementCount不等於零,並且將返回false(請參閱顯示值elementCount的調試懸停)。

Force Return Example http://help.eclipse.org/mars/topic/org.eclipse.jdt.doc.user/reference/views/shared/images/force-return-code.png

顯示視圖,我們可以輸入我們想要返回的值,選擇它並使用部隊返回命令強制方法isEmpty()與該值返回(在下面的例子中我們將強制isEmpty()返回值true)。

Force Return Action in the Display View http://help.eclipse.org/mars/topic/org.eclipse.jdt.doc.user/reference/views/shared/images/force-return-action.png

+0

是的,我知道這種方法,但我想知道這是否是一種更快的方法它。 – Mikel

+0

@Mikel不,這是唯一的方法,它並不是那麼慢。按F5鍵進入方法'giveMyNumber()',在Display面板中輸入數字'3',右鍵單擊並選擇Force Return,然後按F6鍵進入if語句。很簡單,一旦你知道如何。 – Andreas

1

您可以使用條件斷點。添加一個斷點並選擇斷點屬性...

看一下圖像波紋管。

Conditional Breakpoint

選擇斷點和寫入的條件下,你的情況:

giveMyNumber() == 3  
+1

當條件爲真時,這會使執行中斷*,但是當步進代碼時,OP詢問如何覆蓋if語句的邏輯,以便進入if語句塊,即使條件實際上是'假'。 – Andreas

+0

@Andreas。我想念你的觀點。 「所以我想在if語句中停止de調試器,並且模擬爲(giveMyNumber()== 3)爲真,以便進入if和print」Is number 3「」。我沒有得到Mikel被askint覆蓋的地方...... – josivan

+0

我想在調試模式下臨時跳轉到條件內:if(true){System.out.println(「Is number 3」)} – Mikel