簡體   English   中英

如何通過進入 jar 文件代碼來調試代碼,我在 Visual Studio Code 中有源代碼?

[英]How to debug code by stepping into jar file code for which I have the source code in Visual Studio Code?

我是 C#、c++ 開發人員。 如果我有外部 dll 的代碼和 pdb,我可以通過將 IDE 指向代碼和/或 PDB 來進入外部 dll 的代碼。 我想做與 Java JARs 類似的事情

我使用 Visual Studio 代碼在 java 中創建了一個微服務框架。 這將編譯為 jar 文件。 我有另一個應用程序正在使用這個 jar 文件。 在調試應用程序時,如何單步執行微服務 jar 的代碼?

我正在使用 VS Code 1.45.1、zulu 14、maven 3.6.3

假設我有一個名為 MyMaths.jar 的 jar 文件,里面有一個 class mybasicmaths

    public class MyBasicMaths{
       public int addNums(int a, int b) {
           return a+b;
       }
    }

此 jar 正被另一個使用 MyMaths.jar 的應用程序使用。 我已經使用 Maven 解決了依賴關系。 在客戶端應用程序中,我有類似的代碼

    public class MyMathsConsumer {
       public static void main(String[] args) {
         int a = 10;
         int b = 20
         MyBasicMaths myObj = new myBasicMaths();
         int c = myObj.addNums(10, 20);
         System.out.println(c);
       }
    }

我能夠很好地運行我的項目。 但我希望能夠從 MyMathsConsumer 進入 MyBasicMaths.addNums() 的代碼。

當我調試時,我可以進入 amqp-client-5.7.3.jar 甚至 zulu 類,但不能進入我創建的 jar 文件。

eclipse 已向 eclipse 附加源在 jar 的 Eclipse 中提出了類似的問題

我對 Visual Studio Code 也有同樣的要求。

老問題,但對於偶然發現它的人:

(來自https://code.visualstudio.com/docs/java/java-project

默認情況下,引用的{binary}.jar將嘗試在同一目錄下搜索{binary}-sources.jar ,如果找到匹配項,則將其附加為源。

如果要手動指定 JAR 文件作為源附件,可以在源字段中提供鍵值 map:

"java.project.referencedLibraries": {
    "include": [
        "library/**/*.jar",
        "/home/username/lib/foo.jar"
    ],
    "exclude": [
        "library/sources/**"
    ],
    "sources": {
        "library/bar.jar": "library/sources/bar-src.jar"
    }
}

暫無
暫無

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

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