溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

使用IDEA進行JAVA代碼的遠程Debug

發布時間:2020-06-08 18:11:10 來源:網絡 閱讀:2755 作者:lilugoodjob 欄目:軟件技術

在本地開發過程中,對代碼進行Debug能逐行對代碼邏輯進行調試,方便準備的排查問題。但是當代碼發布到線上時,如果運行過程中出現異常,僅僅依靠日志來排查問題的話,會比較耗時,而且經常由于日志不全等原因而不能快速準確定位問題,而通過對JAVA代碼進行遠程Debug能很好的解決這個問題。
這篇博文主要介紹在IDEA中配置JAVA代碼遠程Debug,以及需要注意的事項。

我們知道,Java 程序是統一以字節碼的形式運行在Java 虛擬機上的,因為都是字節碼文件,所以只要本地代碼和遠程服務器上的類文件相同,兩個JVM就可以通過調試協議進行通信。這里需要注意的是,被調試的服務器需要開啟調試模式,服務器端的代碼和本地代碼必須保持一致,否則斷點無法進入。

在IDEA中進行JAVA代碼的遠程Debug,需要做兩步準備工作。

一、遠程服務器端的JAVA代碼開啟調試模式。

項目類型:Spring Boot項目
JDK版本:1.8.0_131
項目啟動命令:java -jar -Dspring.profiles.active=development -Xms1024m -Xmx1024m -Xmn600m -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=4001 -XX:-OmitStackTraceInFastThrow -XX:+UseG1GC -XX:G1ReservePercent=25 -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=log -XX:+PrintGCDetails -XX:+PrintGCDateStamps -Xloggc:log/gc.log smart-building.jar
其中開啟遠程debug的配置是:
-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=4001
參數說明:
jdwp:java debug wire protocol
transport=dt_socket:以socket協議進行通信
server=y:開啟調試服務端
address=4001:通信端口是4001

二、IDEA中的參數配置
1. 打開遠程Debug參數配置窗口

使用IDEA進行JAVA代碼的遠程Debug

2. 配置Debug參數,

Host表示遠程服務端的IP地址。
Port表示跟遠程服務端進行Debug通信的端口。
Command Line表示啟動參數,注明開啟遠程Debug。
Use module classpath 表示遠程服務對應的本地代碼路徑。
使用IDEA進行JAVA代碼的遠程Debug

3. 點擊Debug圖標,開始Debug

使用IDEA進行JAVA代碼的遠程Debug

當在IDEA控制臺輸出這行日志,說明本地IDEA已連接上了遠程服務的Debug端口,接下來可以跟調試本地代碼一樣,開始遠程代碼Debug。
使用IDEA進行JAVA代碼的遠程Debug

三、注意事項
  1. 當開啟遠程Debug后,任何能走到斷點的操作都會導致業務阻塞到斷點位置,從而影響業務流程的正常執行,所以最好選擇沒什么用戶操作的時候進行遠程Debug調試。
  2. 遠程Debug調試過程中,結束調試不會導致遠程業務流程終止,線上業務會繼續執行。
向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女