本地調試非常簡單,就不說了
記得以前跟同事調試的時候,線上環境出了問題,看他們都是打印log日志,比較麻煩,最近看了下web相關開發內容,發現是可以遠程調試的。
不過看過很多類似的文章,Tomcat Remote Server調試都沒有成功
網上的文章大都是相互抄襲轉載,很多都沒有加以驗證,導致增加很多時間上的成本
下面介紹一種筆者親自驗證可行的方法
配置遠程調試
配置如下
復制JVM的相關參數
-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005
配置服務器Tomcat
進入$TOMCAT_HOME/bin目錄下
vi catalina.sh
#在# OS specific support.上面添加
export JAVA_OPTS='-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005'
開啟相關端口
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
如果嫌麻煩或者對安全要求不高直接關閉防火牆也行
service iptables stop
啟動Tomcat
sh startup.sh
然后將war包部署到服務器上
你可以用scp命令傳上去,也可以用sftp上傳上去
筆者這里用的sftp上傳
點擊
Tools -> Deployment -> Configuration
配置如圖,本地測試用的是root用戶,筆者不建議在服務器上用root操作
可參考《Centos 6.5安裝配置sftp》
Tools -> Deployment -> Browse Remote Host
Build -> Build Artifacts -> All Artifacts
然后,直接復制圖示文件到服務器中
接着啟動Remote Server調試
#控制台出現這個表示成功 Connected to the target VM, address: '192.168.1.200:5005', transport: 'socket'
下斷點,瀏覽器輸入
http://192.168.1.200:8080/welcome.do
如圖所示,斷點成功
參考
http://wiki.jikexueyuan.com/project/intellij-idea-tutorial/remote-debugging.html
from: http://www.jianshu.com/p/f902ac5d29e4
