公司項目放在遠程服務器上,之前都是將項目打包放上去運行后在log中查看相關調試信息,發現問題后在本地編輯器修改后再次打包上傳調試,但是這種方式實在是讓人抓狂,一則不斷的在大量的log中查看有效信息太累,而且log中的信息也有限;再則一直重復編輯-打包-上傳-調試很折磨人,所以才想到了遠程調試。搜索了網上的方法要么就是設置界面跟我不一樣,要么就是即使跟他們設置的一樣依然不起作用,不進斷點,在嘗試了多次以后終於調通,在這里記錄一下,也給大家做個參考!
大前提:本地工程和發布到遠程服務器上的工程代碼要完全一致。重點!!!!
首先,配置Tomcat Server,步驟如下:
點擊上圖Edit Configurations,出現如下界面,點擊 + 選擇Tomcat Server-->Remote, 然后出現右側信息。
在Server選項卡中,選擇一個你本機的Tomcat服務,我在填這一欄之前它是空的,需要點擊后面的configuration配置到自己本機的Tomcat;
URL:我填寫的是我遠程服務器部署的項目地址,用的域名+端口號
下面的Host和port就是URL的拆分,這個大家應該都懂。
配置完Server再點擊Startup/Connection-->Debug,然后會看到紅框的那一段命令,這里的8000是我遠程服務器上Tomcat中的調試端口,具體可查看遠程服務器上tomcat-->bin-->catalina.bat文件中的設置項“set JPDA ADDRESS=8000”,這個端口是可以更改的,不管改成什么,都要保持遠程服務器上的Tomcat中的調試端口和本地IDEA中的debug配置中的端口一致,如下圖這幾個地方的端口號要一致,並且遠程服務器的這個端口號要確保可以訪問。
到此,本地IDEA的Tomcat Server配置完畢,點擊Apply-->OK即可。
然后,配置遠程服務器上tomcat中的文件
在配置之前先將上一步驟中debug的那條命令行先拷貝下來:-agentlib:jdwp=transport=dt_socket,address=8000,suspend=n,server=y
然后分情況配置:
Windows(我自己的服務器是Windows,親測沒問題)
在Tomcat-->bin-->catalina.bat文件的第一行添加 set JAVA_OPTS=-agentlib:jdwp=transport=dt_socket,address=8000,suspend=n,server=y
Linux (我沒測過這個,大家如果是Linux 操作系統可以試試,應該也沒問題,區別在於Linux 系統需要修改的文件是catalina.sh,導入關鍵字為export,導入值需要用單引號''括起來)
在Tomcat-->bin-->catalina.sh文件的第一行添加 export JAVA_OPTS='-agentlib:jdwp=transport=dt_socket,address=8000,suspend=n,server=y'
修改完成后保存,並重啟tomcat服務
至此,IntelliJ IDEA 遠程調試 Tomcat 的配置已經完成了.
驗證:在本地IDEA的代碼中設置斷點,然后啟動調試,啟動調試后會輸出如下內容,接着瀏覽器會自動彈出並訪問你的遠程項目地址,項目運行到斷點時會進入調試信息。這樣就可以進行遠程Tomcat的調試了。
Connected to server
Connected to the target VM, address: '*******:8000', transport: 'socket',
寫的有些語無倫次,請見諒!