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