1. 程式人生 > >使用idea遠端debug java應用

使用idea遠端debug java應用

切忌在生產環境開啟使用除錯,除錯時候最好通知其他人,否則應用會被阻塞。
開發過程中,有些情況需要在測試環境才能復現,需要在遠端伺服器上除錯。這時可以使用JMX遠端除錯
除錯工具為Intellij IDEA.

1.首先修改應用啟動項

假如之前jmx_message為:

START_OPTS="$START_OPTS -Dcom.sun.management.jmxremote 
-Dcom.sun.management.jmxremote.port=AAAA 
-Dcom.sun.management.jmxremote.ssl=false 
-Dcom.sun.management.jmxremote.authenticate=false
"

要修改為

START_OPTS="$START_OPTS -Xdebug -agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=XXXX 
-Dcom.sun.management.jmxremote 
-Dcom.sun.management.jmxremote.port=AAAA 
-Dcom.sun.management.jmxremote.ssl=false 
-Dcom.sun.management.jmxremote.authenticate=false"

其中suspend為掛起模式,會阻塞應用執行,address為jmx遠端除錯埠。

2.配置intellj idea 遠端除錯

Run->Edit Configurations
修改Remote配置
修改host為應用伺服器ip地址,address修改為上文配置的埠XXXX

3.開始debug

重啟遠端應用,檢視應用日誌
看到Listening for transport dt_socket at address: XXXX

在idea就可以啟動遠端debug了,點選debug按鈕,進入斷點,開始debug

4.除錯完成之後別忘記還原配置,重啟應用哦。