Java高效開發-遠端debug

大明發表於2022-01-18

1.前言

"這怎麼回事?在本地還好好,放到伺服器就不行了。這該怎麼排查,日誌也看不出來啥呀",日常開發中經常會出現這種問題,這時候就可以嘗試idea遠端debug的模式試試

2.使用

1.環境:idea2021

2.idea配置

file
file
file

重點:將自動生成的引數新增到啟動命令裡

3.啟動指令碼

nohup java -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005 -jar xxxxx-0.0.1-SNAPSHOT.jar &

-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005 從idea裡複製即可

其他的命令是根據自身情況修改

4.啟動debug

控制檯出現一下字樣即成功!
connected to the target VM,addree:'xxx.xx.xx.xx:xxxx',transport:'socket'

3.說明

1.埠不能被佔用,且防火牆要開放對應埠或者關閉防火牆

2.斷點開啟後會導致阻塞,所以這個不要在測試環境或者生產環境玩(一般也沒有許可權)

3.記住控制檯是不會列印日誌的

4.遠端的執行的程式碼要跟本地的一致(重要)

4.總結

排查問題效率高,特別是對於伺服器和本地系統差異性導致問題難以排查的時候,但是不要在測試環境或者生產環境使用,會影響他人。

相關文章