Java高效開發-遠程debug
- 2022 年 1 月 18 日
- 筆記
1.前言
“這怎麼回事?在本地還好好,放到服務器就不行了。這該怎麼排查,日誌也看不出來啥呀”,日常開發中經常會出現這種問題,這時候就可以嘗試idea遠程debug的模式試試
2.使用
1.環境:idea2021
2.idea配置
重點:將自動生成的參數添加到啟動命令里
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.總結
排查問題效率高,特別是對於服務器和本地系統差異性導致問題難以排查的時候,但是不要在測試環境或者生產環境使用,會影響他人。