IntelliJ IDEA 之 遠(yuǎn)程調(diào)試篇
我的工作困擾
應(yīng)用部署依賴太多外部環(huán)境,本地部署困難重重,問題追蹤依賴于日志文件,煩人!某些功能本機(jī)正常運(yùn)行,提交測(cè)試或者上線卻表現(xiàn)欠佳,煩人!某些功能較為復(fù)雜,正常運(yùn)行需要人為制造大量測(cè)試數(shù)據(jù),煩人!
重拾小時(shí)候的幸福
多次遇到上述問題之后,開始變得惶恐和不安,難道就無法擺脫這種困境嗎?難道JVM (Java Virtual Machine)無法通過網(wǎng)絡(luò)傳輸完成遠(yuǎn)程調(diào)試嗎?就在我將[遠(yuǎn)程調(diào)試]四個(gè)字填入搜索框之后,陽光甚好,我似乎找到了小時(shí)候吃冰棍般的滿足與幸福。
題外話
[大力水手]牌子的冰棍是我最愛,就是太貴,記憶中只吃過兩次。如果還有機(jī)會(huì)遇到它的話,指定一次買兩根,吃一根,再吃一根。
主要內(nèi)容
+ 演示環(huán)境
+?創(chuàng)建 JavaWeb 項(xiàng)目,編寫測(cè)試代碼
+?修改 Tomcat JVM 啟動(dòng)參數(shù),開啟遠(yuǎn)程調(diào)試
+?Idea 創(chuàng)建遠(yuǎn)程調(diào)試鏈接,啟動(dòng)調(diào)試
+ 附件和注意
演示環(huán)境,介紹本次遠(yuǎn)程調(diào)試所依賴的軟件環(huán)境,即 IntelliJ IDEA / Apache Tomcat 版本
+ Apache Tomcat :7.0.55
+ IntelliJ IDEA :2018.2.1 (Ultimate Edition)?
+ Windows 10 家庭中文版
創(chuàng)建 JavaWeb 項(xiàng)目,編寫測(cè)試代碼,創(chuàng)建?JavaWeb 項(xiàng)目,編寫調(diào)試代碼。此處將構(gòu)建一個(gè) Servlet 3.0 應(yīng)用,并編寫一個(gè) Filter(過濾器),該過濾器的作用僅是用來設(shè)置程序斷點(diǎn)。?


修改 Tomcat JVM 啟動(dòng)參數(shù),開啟遠(yuǎn)程調(diào)試,編輯 Tomcat Catalina.bat 啟動(dòng)文件,添加 JVM 啟動(dòng)參數(shù),設(shè)置遠(yuǎn)程調(diào)試服務(wù)模式和端口信息。

Idea??創(chuàng)建遠(yuǎn)程調(diào)試鏈接,啟動(dòng)調(diào)試,部署上面構(gòu)建的 JavaWeb 項(xiàng)目 Deuger.war 至 Tomcat 服務(wù)器,并創(chuàng)建遠(yuǎn)程調(diào)試,設(shè)定遠(yuǎn)程機(jī)器 IP (本文調(diào)試的服務(wù)器在本地,所以 IP 地址為本地回環(huán)地址) 和調(diào)試端口(Catalina.bat 中設(shè)置的端口號(hào))


遠(yuǎn)程調(diào)試操作,可以有效解決[?我的工作困擾?]中的前兩項(xiàng),因?yàn)樵?Debug 模式下,問題會(huì)變得顯而易見。而對(duì)于測(cè)試數(shù)據(jù)問題,可以通過 Debug 修改任何變量值,調(diào)整程序運(yùn)行方向。

附件和注意
附件和注意,包括上述 Gif 圖片中的配置信息和測(cè)試代碼片段,若有任何未提及到的內(nèi)容,請(qǐng)聯(lián)系我。
附件:
Catalina.bat 設(shè)置:SET CATALINA_OPTS=-server -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8000
注意:
不同平臺(tái)下,配置稍有不同。例如 Linux 下應(yīng)該修改 Catalina.sh 文件;WebLogic,WebSphere 服務(wù)器的配置也有少許不同,但是修改過程,配置參數(shù)幾乎一致,若有需要,可自行查閱相關(guān)資料。當(dāng)然也可以聯(lián)系我,我們一起討論。本文的介紹的內(nèi)容偏向于實(shí)際操作,更多理論和細(xì)節(jié)內(nèi)容沒有介紹。若你有任何疑惑,當(dāng)然也可以聯(lián)系我,我們一起討論。
微信公眾號(hào)
文章內(nèi)容大多數(shù)都是從我的公眾號(hào)搬過來的,內(nèi)容可能沒有公眾號(hào)更新的及時(shí),下面是我的公號(hào),歡迎來訪。
