本地調(diào)試非常簡(jiǎn)單,就不說(shuō)了
記得以前跟同事調(diào)試的時(shí)候爱榔,線上環(huán)境出了問(wèn)題,看他們都是打印log日志糙及,比較麻煩详幽,最近看了下web相關(guān)開(kāi)發(fā)內(nèi)容,發(fā)現(xiàn)是可以遠(yuǎn)程調(diào)試的浸锨。
不過(guò)看過(guò)很多類似的文章唇聘,Tomcat Remote Server調(diào)試都沒(méi)有成功
網(wǎng)上的文章大都是相互抄襲轉(zhuǎn)載,很多都沒(méi)有加以驗(yàn)證柱搜,導(dǎo)致增加很多時(shí)間上的成本
下面介紹一種筆者親自驗(yàn)證可行的方法
配置遠(yuǎn)程調(diào)試
配置如下
復(fù)制JVM的相關(guān)參數(shù)
-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005
配置服務(wù)器Tomcat
進(jìn)入$TOMCAT_HOME/bin目錄下
vi catalina.sh
#在# OS specific support.上面添加
export JAVA_OPTS='-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005'
開(kāi)啟相關(guān)端口
vi /etc/sysconfig/iptables
#在-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT之后添加
-A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 5005 -j ACCEPT
重啟防火墻
service iptables restart
如果嫌麻煩或者對(duì)安全要求不高直接關(guān)閉防火墻也行
service iptables stop
啟動(dòng)Tomcat
sh startup.sh
然后將war包部署到服務(wù)器上
你可以用scp命令傳上去迟郎,也可以用sftp上傳上去
筆者這里用的sftp上傳
點(diǎn)擊
Tools -> Deployment -> Configuration
配置如圖,本地測(cè)試用的是root用戶聪蘸,筆者不建議在服務(wù)器上用root操作
可參考《Centos 6.5安裝配置sftp》
Tools -> Deployment -> Browse Remote Host
Build -> Build Artifacts -> All Artifacts
然后宪肖,直接復(fù)制圖示文件到服務(wù)器中
接著啟動(dòng)Remote Server調(diào)試
#控制臺(tái)出現(xiàn)這個(gè)表示成功
Connected to the target VM, address: '192.168.1.200:5005', transport: 'socket'
下斷點(diǎn),瀏覽器輸入
http://192.168.1.200:8080/welcome.do
如圖所示健爬,斷點(diǎn)成功
參考
http://wiki.jikexueyuan.com/project/intellij-idea-tutorial/remote-debugging.html