簡體   English   中英

如何在蝕氧氣中調試類文件

[英]How to debug a class file in eclipse oxygen

很長一段時間以來,我一直在尋找如何在Java中調試類文件。

例如:-考慮下面的代碼片段。

Map map = new HashMap();
map.put("1","A");
map.put("2","B");

現在,如果我想了解put的內部工作,則應將我重定向到HashMap類中的put方法。 我已經在日食中安裝了反編譯器。 我在put()上設置了斷點,但是直到這一點編譯器才出現。 它跳過了方法的內部工作,並直接指向我定義的下一行。

如果有調試類文件請幫忙

要調試具有斷點的核心/ JDK類的執行,您需要添加這些類的源代碼。
對於最新版本的Java,在解壓縮/安裝JDK之后,您會在JDK文件夾的根目錄中找到一個檔案,例如Windows JDK的src.zip。

標識此文件后,可以通過在Eclipse首選項的已安裝JRE部分中配置源,使其在任何Eclipse項目中均可訪問:

  • 選擇您正在使用的JRE(通常是JDK)
  • 點擊“編輯”
  • 選擇所有JRE系統庫,然后單擊“源附件”
  • 單擊“外部文件”以選擇包含以前下載的源的zip文件。
  • 通過單擊“確定”對其進行驗證

這是捕獲相關信息的屏幕截圖:

在此處輸入圖片說明

除了davidxxx發布的設置之外,在調試模式下,執行達到調試點時,請記住使用“逐步進入”而不是“逐步超過”。 然后“進入”將使您進入.put()方法。

為此,您不需要反編譯器,JDK中的類也不需要。 嘗試使用它甚至可能導致您出現問題。 通常,您要做的就是確保“已安裝的JRE”首選項頁面包含JDK,並使用它而不是JRE啟動Java應用程序。 JDK源的位置是眾所周知的,因此應該自動找到它,並且JDK的.class文件包含調試信息,以便在步進時向調試器公開字段名稱和局部變量。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM