Intellij-Idea遠程調試-Java代碼

前言

線上(真-線上/測試環境)代碼出了問題,老是要在本地復現,而後debug,這個過程是在是不太友好,並且線上的不少數據本地沒有,常常耽誤很久的時間來同步數據.java

前文介紹過一種在運行時DEBUG及修改Java代碼的方式,阿里開源java動態追蹤工具 Arthas的使用.其主要針對的是線上修改代碼及JVM實時查看.linux

可是有不少問題,咱們更想要IDE的DEBUG功能,好比線上跑了NPE,本地沒有辦法復現由於多是線上的數據問題,這時候就會想,若是能夠在線上這裏打個斷點,就知道是誰爲空了.socket

幸虧Java是有遠程DEBUG的支持的,並且Intellij-IDEA也實現了相關的功能,今天學習而且記錄一下.工具

啓動參數

首先在服務端使用JVM的-Xdebug參數啓動Jar包.學習

java -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5555 -jar huyan-demo.jar測試

參數說明:debug

  • -Xdebug:JVM在DEBUG模式下工做;調試

  • -Xrunjdwp:JVM使用(java debug wire protocol)來運行調試環境;code

  • transport:監聽Socket端口鏈接方式,經常使用的dt_socket表示使用socket鏈接.cdn

  • server:=y表示當前是調試服務端,=n表示當前是調試客戶端;

  • suspend:=n表示啓動時不中斷.

  • address:=8000表示本地監聽5555端口。

IDEA配置

服務端以DEBUG模式啓動了jar包以後,基本上就完成了,只須要在IDEA中作一些配置,以下圖:

2019-07-04-11-48-21

添加一個新的啓動項,選擇Remote,以後在配置信息裏面填入你啓動的服務端的IP地址調試端口.

以後點擊debug按鈕,像本地同樣的開始debug吧~.


完。



ChangeLog

2019-07-04 完成

以上皆爲我的所思所得,若有錯誤歡迎評論區指正。

歡迎轉載,煩請署名並保留原文連接。

聯繫郵箱:huyanshi2580@gmail.com

更多學習筆記見我的博客------>呼延十

相關文章
相關標籤/搜索