- 提出問題:
一個程序,部署在自己的電腦上,debug調試,相信大家都會,但是,如果我想debug調試非本地部署的程序怎么辦呢。比如測試服務器上部署的程序。
其實這樣的需求也是經常有的,比如一個大型的項目有很多模塊,也有很多自己的或外部的依賴,不可能在自己電腦上整個都搭建一整套完整的環境。先不管有多復雜,有時候公司的電腦配置再不給力,部署一個大型程序更是雪上加霜。通常這樣的程序都是直接部署到專門的開發或測試環境里面。很少在自己電腦上部署測試。再加上運用像jenkins這樣的自動化的部署工具,部署只是點幾下按鈕的事兒。不比在本地起一個tomcat多出多少工作。就更沒有必要在本地部署程序測試了。包括開發自測和測試人員的測試。當然這只是說的稍微大一點的項目。一個小的獨立的項目在本地部署測試還是很方便的。
好了,言歸正傳,既然部署到其它地方,想debug一步一步地調試就不能像在本地部署一樣了。也就是文章一開始提出的問題。
- 解決問題:
其實解決起來也很簡單,
-
- 設置tomcat
在目標程序運行的tomcat的catalina.sh文件中加上
JAVA_OPTS="-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=26310"
好了,這就是目標tomcat需要做的所有設置了,簡單吧。注意這里設置的address=26310,這是本地和遠程程序通信的端口,要和后來在IDE工具中設置的一致。做完這些工作,就差不多成功一半了。當然這可能只是啟用遠程debug的最少配置,這些啟動參數當然可以跟其它JVM參數一塊設置。像常見的設置堆內存大小,垃圾收集器,gc日志打印,堆棧轉儲等等的參數。
- IDEA 設置
- 設置tomcat
點擊如圖位置
再點擊"Edit Configurations..."
出現如下界面,再點擊左上角的加號
出現如下圖的界面,點擊Remote
如圖所示
設置完了點擊apply
想要遠程調試就點擊如圖的位置選擇你剛才設置好的
然后點擊debug按鈕就可以在你的機器上打斷點調試你的遠程部署的代碼了
當出現下面如圖內容就說明成功了
- 其它IDE工具我不怎么用,就不知道怎么設置了,需要的自己研究下。
插播個廣告

老丈人家的粉皮兒,農產品,沒有亂七八糟的添加劑,歡迎惠顧