2012-02-05 54 views
3

我正在支持/修復現有產品的錯誤。該產品完全用java編寫,並且可以擺動。有時我會調試我需要的代碼,以查找當我單擊特定按鈕或執行某些操作時執行哪個方法。有沒有任何Java工具可以幫助我做到這一點。要附加到調試器,我需要知道在執行某些操作時它正在執行哪個方法。由於產品非常龐大 我無法根據操作預測類等。當我執行一些操作(如單擊按鈕)時,如何跟蹤在java中執行哪種方法

回答

2

在調試器(如內置於Netbeans IDE中的調試器)中運行代碼。然後,您可以通過代碼步驟 - 您可以在開始時插入斷點,也可以在按鈕單擊的事件處理程序中插入斷點,然後從中按步繼續。如果你不想要的話,你不需要點擊「繼續」按鈕。

換句話說,不需要了解調試代碼的整個調用模式 - 這是調試器的優點之一,它可以幫助您瞭解程序真正起步的內容。

或者,在調用每個方法時,可以通過插入日誌/打印語句來「檢測」您的代碼。

2

您可以使用免費的代碼覆蓋工具,如EMMAjaCoCo,它們有自己的eclipse插件。

代碼覆蓋工具可幫助您瞭解啓動Java應用程序或單元測試時代碼的哪些部分正在執行,因此我認爲您需要。

2

爲了您瞭解單擊按鈕時調用哪個方法,您需要執行以下操作。

考慮下面的示例代碼:

class MyPanel extends JPanel { 
    private JButton testButton; 
    MyPanel() { 
     testButton = new JButton("Test"); 
     init(); 
    } 

    private void init() { 
     testButton.addActionListener(new MyButtonListener()); 
    } 
} 
  1. 假設你需要看到附有testButton的事件,發現它的代碼中的用法,看監聽器連接到它的東西。在NetBeans和Eclipse中,您可以右鍵單擊該變量並選擇「查找用法」或類似的操作來查看所有對象被引用的位置。
  2. 一旦找到偵聽器,您將需要查看偵聽器中正在處理的方法,並且如果您在這些方法中標記了調試點,則可以輕鬆追蹤代碼執行流程。
相關問題