設(shè)置基本步驟:
1,將本地代碼打包成jar文件,傳到遠(yuǎn)程服務(wù)器.
2,在服務(wù)器以遠(yuǎn)程debug模式啟動jar,并指定遠(yuǎn)程debug連接的端口.用如下命令
? ? 1) java -agentlib:jdwp=transport=dt_socket,address=端口號,server=y,suspend=y -jar 文件名.jar
? ? 2) java -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=端口號 -jar 文件名.jar
看到如下:
看到服務(wù)器已經(jīng)監(jiān)聽指定的debug端口了.
3,在本地idea中配置:
配置好,在本地debug啟動,到此就可以愉快的進(jìn)行debug了.
java命令參數(shù)解析:
java -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8000 -jar test.jar
-Xdebug:通知JVM工作在debug模式下踊餐;
-Xrunjdwp:通知JVM使用(java debug wire protocol)來運(yùn)行調(diào)試環(huán)境湖笨;
transport:監(jiān)聽Socket端口連接方式(也可以dt_shmem共享內(nèi)存方式般又,但限于windows機(jī)器瓣蛀,并且服務(wù)提供端和調(diào)試端只能位于同一臺機(jī));
server:server=y表示當(dāng)前是調(diào)試服務(wù)端,=n表示當(dāng)前是調(diào)試客戶端;
suspend:suspend=n表示啟動時不中斷毁葱,一般用于設(shè)置主動連接,不管有沒有連接到監(jiān)聽的端口都會啟動;suspend=y表示啟動時就進(jìn)入調(diào)試模式贰剥,一般用于被動連接,只有連接到監(jiān)聽的端口才開始啟動倾剿;
說明:如果要在啟動階段就開始debug則設(shè)置suspend=y,如果在jar包啟動成功后才開始debug則設(shè)置suspend=n。