IDEA遠程執行詳解


新建一個springboot項目

 

 

新建一個java class:

@RestController
public class TestController {

    @RequestMapping("/test")
    public Integer test() {
        int i = 0;
        i++;
        return i;
    }

}

打包:mvn clean package

生成jar包

  

放到遠程服務器上(也可以在本地cmd命令下調試,host為localhost),以Jar包的方式執行

java -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=8010 -jar demo-0.0.1-SNAPSHOT.jar

 

 

其中 -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=8010 是在IDEA里配置參數時復制過來的。各參數含義如下:

transport             用於在調試程序和 VM 使用的進程之間通訊。 
dt_socket             套接字傳輸。 
dt_shmem              共享內存傳輸,僅限於 Windows。 
server=y/n            VM 是否需要作為調試服務器執行。 
address=8010          調試服務器的端口號,客戶端用來連接服務器的端口號。 
suspend=y/n           是否在調試客戶端建立連接之后啟動 VM 。

當然,也可以在服務器的啟動腳本里通過添加參數的方式執行。

 

IDEA的配置:

 

 添加一個Remote

 

 

 然后開始debug,出現下面的信息說明連接成功:

Connected to the target VM, address: '10.193.215.16:8010', transport: 'socket'

 

 訪問網址:

http://10.193.215.16:8080/test

會發現程序阻塞。進入斷點,就可以開始調試了。

 

 

如果你想修改默認8080服務端口,比如改成8020,可以在application.properties配置如下:

server.port=8020

 

 然后服務器端啟動腳本要加上-Dserver.port=8020 參數:

java -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=8010 -Dserver.port=8020 -jar demo-0.0.1-SNAPSHOT.jar

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM