首先,靈感來源於這個帖子https://www.jianshu.com/p/f902ac5d29e4
在平常開發過程當中發現,有些項目因爲本地網關或者數據庫的限制,不方便本地調試,因而就想到了是否能夠遠端調試。網上一搜還真有這種操做,感謝Tomcat的支持。可是網上不少人都是亂寫亂轉帖,絲毫沒有借鑑意義,最後導師推給我一個帖子(上面的鏈接),試了試感受講得挺清晰,可是仍是有些沒說清楚的地方,因而在這裏總結一下。linux
系統:支持IDEA的操做系統
IDE:能建立遠程調試服務的IDEA
Java版本:根聽說明,我感受彷佛如今能見到的Java版本都能進行調試
Tomcat版本:拿7.0試的,7以及更高應該都行
項目類型:測試拿基於SSM的Java web項目進行的,估計能放進tomcat容器的項目類型都支持web
遠程調試,本質上就是本地經過socket通訊,對遠端Tomcat發送調試指令,由一個遠程的操做進行本地調試。本質上也能夠視爲是遠程跑服務的機器上面有一個IDEA,能夠進行debug操做,而後你在另一臺機器上,登陸遠程桌面,訪問那臺機器,而後操做IDEA進行調試。數據庫
這個原理看上去並不難,因此具體的操做總共分3步:windows
新建一個remote debug job。
給這個job起個名字,配置Debugger mode與Transport如圖所示,而後配好遠端tomcat服務器的IP和端口號(這個根據你的項目來肯定),配置完以後,下面的Command line就會自動生成,選擇好JDK版本以後,Command line就會變成適用於當前JDK版本的指令格式,而後在下方選好你要調試的項目模塊。記下Command line的內容,下一步要用Apply而後OK。這樣本地配置就完成了。(注:不一樣版本IDEA這個界面的樣式略有不一樣,找到對應的就好)tomcat
經過各類方式訪問你的tomcat所在目錄,進入tomcatXXX/bin/ linux系統下找到catalina.sh文件,若是是windows系統,那就找到catalina.bat文件。
在# OS specific support. $var must be set to either true or false.這一行上面加一行:
export JAVA_OPTS='xxxxx'
''這裏面是咱們剛纔保存的Command line的內容,圖中是我本身的配置。
保存退出,重啓tomcat,讓它加載最新的配置文件。項目啓動起來以後,咱們就能夠開始遠程debug了。服務器
在開始調試以前,要有幾個準備工做:
首先,遠程tomcat要啓動
而後,保證本地代碼與遠端的打包文件一致
選中remote debug job以後點擊debug按鈕
當你的debug console出現:
若是出現如圖結果,說明你已經與遠端創建了調試鏈接,能夠開始遠端調試了。本地打斷點,調用遠端項目的方法,就能夠在本地進行debug操做了。socket