使用idea遠端debug java應用
阿新 • • 發佈:2018-11-01
切忌在生產環境開啟使用除錯,除錯時候最好通知其他人,否則應用會被阻塞。
開發過程中,有些情況需要在測試環境才能復現,需要在遠端伺服器上除錯。這時可以使用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