IntelliJ IDEA 之 遠程調試篇

我的微信公衆號

 

我的工作困擾

應用部署依賴太多外部環境,本地部署困難重重,問題追蹤依賴於日誌文件,煩人!

某些功能本機正常運行,提交測試或者上線卻表現欠佳,煩人!

某些功能較爲複雜,正常運行需要人爲製造大量測試數據,煩人!

 

重拾小時候的幸福

多次遇到上述問題之後,開始變得惶恐和不安,難道就無法擺脫這種困境嗎?難道JVM (Java Virtual Machine)無法通過網絡傳輸完成遠程調試嗎?就在我將[遠程調試]四個字填入搜索框之後,陽光甚好,我似乎找到了小時候吃冰棍般的滿足與幸福。

 

題外話

[大力水手]牌子的冰棍是我最愛,就是太貴,記憶中只吃過兩次。如果還有機會遇到它的話,指定一次買兩根,吃一根,再吃一根。

 

主要內容

+ 演示環境

+ 創建 JavaWeb 項目,編寫測試代碼

+ 修改 Tomcat JVM 啓動參數,開啓遠程調試

+ Idea 創建遠程調試鏈接,啓動調試

+ 附件和注意

 

 演 示環境 ,介紹本次遠程調試所依賴的軟件環境,即 IntelliJ IDEA / Apache Tomcat 版本。

+ Apache Tomcat : 7.0.55

+ IntelliJ IDEA :2018.2.1 (Ultimate Edition) 

+ Windows 10 家庭中文版

 

創 建 JavaWeb 項目

創 建 JavaWeb 項目,編寫測試代碼,創建 JavaWeb 項目,編寫調試代碼。此處將構建一個 Servlet 3.0 應用,並編寫一個 Filter(過濾器),該過濾器的作用僅是用來設置程序斷點。

利用 Maven ArcheType 快速構建 JavaWeb 應用

 

配置、編寫調試代碼(Fliter)

 

修 改 Tomcat JVM 啓動參數

修 改 Tomcat JVM 啓動參數,開啓遠程調試,編輯 Tomcat Catalina.bat 啓動文件,添加 JVM 啓動參數,設置遠程調試服務模式和端口信息。

修改 catalina.bat 啓動參數

 

Idea  創建遠程調試鏈接

 Idea  創建遠程調試鏈接,啓動調試,部署上面構建的 JavaWeb 項目 Deuger.war 至 Tomcat 服務器,並創建遠程調試,設定遠程機器 IP (本文調試的服務器在本地,所以 IP 地址爲本地迴環地址) 和調試端口(Catalina.bat 中設置的端口號)。

部署 Debuger 至服務器

 

Idea設置遠程調試題

 

遠程調試操作

遠程調試操作可以有效解決[ 我的工作困擾 ]中的前兩項,因爲在 Debug 模式下,問題會變得顯而易見。而對於測試數據問題,可以通過 Debug 修改任何變量值,調整程序運行方向

debug模式中模擬測試數據

 

附件和注意,包括上述 Gif 圖片中的配置信息和測試代碼片段,若有任何未提及到的內容,請聯繫我。

附件

Catalina.bat 設置

SET CATALINA_OPTS=-server -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8000

 

注意

不同平臺下,配置稍有不同。例如 Linux 下應該修改 Catalina.sh 文件;WebLogic,WebSphere 服務器的配置也有少許不同,但是修改過程,配置參數幾乎一致,若有需要,可自行查閱相關資料。當然也可以聯繫我,我們一起討論。本文的介紹的內容偏向於實際操作,更多理論和細節內容沒有介紹。若你有任何疑惑,當然也可以聯繫我,我們一起討論。

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章