Tomcat遠程調試

1      描述

1.1      背景

在項目中,會遇到一些問題,本地測試正確,測試環境測試也正確,但線上環境卻出現問題,因爲線上環境又缺乏一些必要的問題定位手段,這時能夠經過遠程調試來調試程序。但原則上,咱們仍是儘量經過業務邏輯、代碼分析、日誌定位來解決線上問題,遠程調試是一把雙刃劍,可能解決線上問題,但也可能致使線上出現新的問題。vim

本文以Tomcat7+eclipse+Centos6.5爲環境,描述如何進行遠程調試。tomcat

1.2      方法和步驟

1.     修改Tomcat配置

在catalina.sh中添加以下:服務器

CATALINA_OPTS="-Xdebug  -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n"eclipse

參數說明以下:socket

-Xdebugtcp

啓用調試模式測試

-Xrunjdwp<sub-options>spa

加載JVM的JPDA參考實現庫debug

transport=dt_socket調試

Socket鏈接,可選dt_shmem 經過共享內存的方式鏈接到調試服務器

address=8000

調試服務器監聽的端口

server=y

是不是服務器端,n爲客戶端

suspend=n

啓動過程是否加載暫停,y爲啓動時暫停,方便調試啓動過程

2.     修改Centos防火牆

vim /etc/sysconfig/iptables

添加一行:

-A INPUT -p tcp -m state --state NEW -m tcp --dport 8000 -j ACCEPT

而後重啓防火牆使其生效(開放的端口8000須要和tomcat中配置的8000一致)

service iptables restart 

3.     使用Eclipse進行調試

1) 打開debug

2) 設置debug

3) 執行debug

設置完畢後,點擊「Debug」按鈕,在代碼中打上斷點,程序運行到斷點後,就能夠看到效果,具體如圖:

點擊紅框內的按鈕,能夠取消遠程調試。

相關文章
相關標籤/搜索