IntelliJ IDEA 之 遠(yuǎn)程調(diào)試篇

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)。?



利用 Maven ArcheType 快速構(gòu)建 JavaWeb 應(yīng)用
配置、編寫調(diào)試代碼(Fliter)


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



修改 catalina.bat 啟動(dòng)參數(shù)


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))



部署 Debuger 至服務(wù)器


Idea設(shè)置遠(yuǎn)程調(diào)試


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



debug模式中模擬測(cè)試數(shù)據(jù)


附件和注意


附件和注意,包括上述 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),歡迎來訪。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容