2012-10-10 50 views
1

我很好奇,如果在Java中有一個關鍵字,它將允許eclipse或IDE停止運行代碼並在代碼到達特定點時啓動調試器。Java關鍵字啓動調試器?

我知道斷點對於這個特定的問題是非常有用的,但是我希望只有在特定條件達到時纔開始調試程序,並且這種情況不是定期檢查的, d必須純粹爲了調試而對其進行編程。

例如,

if(condition_is_met){ 
    //throw debugger and begin to step through here 
} 

我能想到這樣做是唯一的其他辦法...

if(condition_is_met){ 
    System.out.println("Something"); //Then set a breakpoint here in Eclipse. 
} 

這似乎只是亂了,意味着我將承擔責任錯過它,當稍後清理代碼。 Java是否有關鍵字,可能類似於Javascript的debugger關鍵字?

+1

AFAIK Eclipse有條件斷點。 –

回答

2

Java中沒有可以啓動eclipse調試器的關鍵字。記住Java不是用於eclipse的,但它是相反的。如果你想要這樣的東西,在eclipse中使用條件斷點,你可以通過eclipse的斷點屬性窗口來設置斷點。

3

創建一個實用工具類:

public final class DebugHelper { 
    public final static void breakpoint() {} // Set break point here 
} 

然後,您可以在要停止Eclipse的所有地方使用DebugHelper.breakpoint()

在運行時,該方法最終將被替換爲JIT(禁用調試時),所以它對於經常使用的代碼是免費的。

這種方法有兩個優點:

  1. 它不會傷害如果你想刪除它留在
  2. 此代碼,可以很容易地找到(只是搜索的方法的所有引用工作區)
+0

這是一個非常酷的方法!目前來看,有條件的斷點對我來說很合適,但我肯定會記住這對於大型/未來項目。 – nitsua