Java 生產環境 debug

NO IMAGE

要解決的問題:生產環境是內網伺服器,只提供跳板機額外網訪問許可權,通過 idea 對生產環境進行除錯。

1、生產環境啟動引數 start.sh

JAVA_DEBUG_OPTS=""
if [ "$1" = "debug" ]; then
JAVA_DEBUG_OPTS=" -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n "
fi
# JAVA_DEBUG_OPTS 放在Java指令碼啟動的JVM引數
# 解釋: 隨著jkd版本的升高,上面的寫法變了,但是功能並不影響,待會兒到idea的時候就能看到了。
# -Xrunjdwp 是通知JVM使用(java debug wire protocol)來執行除錯環境。該引數同時了一系列的除錯選項: 
# transport 指定了除錯資料的傳送方式
# dt_socket 是指用SOCKET模式
# address 埠
# server=y/n VM 是否需要作為除錯伺服器執行。 
# suspend=y/n 是否在除錯客戶端建立連線之後啟動 VM 。 

2、idea 配置除錯埠

開啟 idea 當前工程,Edit configurations…,如下圖

在Remote配置如下,其實就是host和埠而已,其實上面指令碼里面的就類似於idea裡面的這些。

3、SecureCRT 配置埠轉發

我只會用SecureCRT 做埠轉發,其他要是有好的工具歡迎建議給大家

首先在 SecureCRT 登入跳板機,比如我的跳板機是120.27.227.13,右鍵 properties

5、idea 點debug,就發現已經連線上了

現在就可以愉快的打斷點調你的服務了,即將進入debug模式

微信公眾號:志哥 (ID: zhige-me)
期待與你相遇,一同成長前行!