IDEA 遠程調試 Spring Boot 源碼

一)、查看關於-agentlib命令

在終端命令行中輸入"java"就能看到"-agentlib"命令

二)、關於-agentlib的詳細使用說明

根據上邊提示的文字,我們可以輸入以下命令來查看關於-agentlib的詳細使用

java -agentlib:jdwp=help

我們一般會使用到前面列舉的四個選項,transport的值爲dt_socket

  • 如果是本地環境,address可以不用加ip地址

運行以下命令,就可以讓jar以遠程調試的形式啓動,會監聽調試器的連接

java -agentlib:jdwp=suspend=y,transport=dt_socket,address=9090,server=y -jar spring_boot_dissect-1.0.jar

三)、IDEA添加遠程調試配置

四)、IDEA遠程調試項目

當我們想要深入研究Spring Boot Loader的源碼時,由於我們無法直接在IDEA通過運行啓動類的main進入到相關類的源代碼中,所以遠程調試的技術就派上用場啦!

/**
 * 主啓動類
 *
 * @author MoCha
 * @date 2020/06/11
 */
@SpringBootApplication
public class SpringBootDissectApplication {
    public static void main(String[] args) {      
        System.out.println(SpringBootDissectApplication.class.getClassLoader());
        SpringApplication.run(SpringBootDissectApplication.class, args);
    }
}
// IDEA直接運行main方法,輸出sun.misc.Launcher$AppClassLoader@18b4aac2
// 遠程調試環境下,輸出org.springframework.boot.loader.LaunchedURLClassLoader@2c9f9fb0
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章