MyEclipse远程调试Tomcat
程序就是這么一個(gè)神奇的東西,有時(shí)你的一個(gè)項(xiàng)目,在本機(jī)上運(yùn)行得還是好好的,可當(dāng)你把這貨放到了服務(wù)器上,同樣的條件就是結(jié)果不一樣。于是就灰常想看一下程序在遠(yuǎn)程運(yùn)行時(shí)候的狀態(tài),希望讓程序在遠(yuǎn)程運(yùn)行,還可以在本機(jī)打斷點(diǎn)跟一下,這就用到了用eclipse遠(yuǎn)程調(diào)試Tomcat。記得以前好久之前研究了一下,怎么也沒弄成功。最近終于OK啦。
一、調(diào)試準(zhǔn)備
首先得有一個(gè)在遠(yuǎn)程服務(wù)器上的Tomcat與一個(gè)在本地的Eclipse,還有就是一個(gè)已經(jīng)部署在遠(yuǎn)程Tomcat上并且源代碼在本地Eclipse上的程序。當(dāng)然如果木有遠(yuǎn)程的服務(wù)器就用自己的本機(jī)當(dāng)遠(yuǎn)程的服務(wù)器試下也行哈。
二、配置tomcat
1、如果遠(yuǎn)程服務(wù)器是Windows NT的環(huán)境,那就在%CATALINE_HOME%/bin 下建立debug.bat文件,在里面貼入如下內(nèi)容:?
set JPDA_ADDRESS=8888?
set JPDA_TRANSPORT=dt_socket?
set CATALINA_OPTS=-server -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8888?
startup
其中的兩處8787是要啟用的遠(yuǎn)程端口,當(dāng)然任何未被使用的端口都可以。連接方式有兩種,為dt_shmem和dt_socket,分別表示本機(jī)調(diào)試和遠(yuǎn)程調(diào)試。?
2、如果遠(yuǎn)程服務(wù)器是Linux/Unix環(huán)境,就編輯%CATALINE_HOME%/bin/startup.sh文件,找到其中最后一行,將
exec "$PRGDIR"/"$EXECUTABLE" start "$@"?
改為
exec "$PRGDIR"/"$EXECUTABLE" jpda start "$@"
默認(rèn)的遠(yuǎn)程調(diào)試端口是8000,如果被占用,編輯%CATALINE_HOME%/bin/catalina.sh文件,將
JPDA_ADDRESS="8000"
改為
JPDA_ADDRESS="8888"
3 、在Windows下運(yùn)行debug.bat 在Linux下運(yùn)行 startup.sh啟動(dòng)Tomcat。
如果在啟動(dòng)日志中出現(xiàn)
Listening for transport dt_socket at address: 8888
則說明遠(yuǎn)程調(diào)試端口監(jiān)聽成功。
三、配置Eclipse
?在要調(diào)試的項(xiàng)目上右鍵,選擇?調(diào)試方式->調(diào)試配置
?
打開配置界面,選擇?遠(yuǎn)程Java應(yīng)用程序?新建一個(gè)遠(yuǎn)程調(diào)試
IP地址就是遠(yuǎn)程服務(wù)器IP地址,端口是剛才配置的Tomcat的遠(yuǎn)程調(diào)試監(jiān)聽端口。配置好后點(diǎn)應(yīng)用,調(diào)試。
這時(shí)打開調(diào)試界面就可以看到線程狀態(tài),也可以隨時(shí)斷開調(diào)試。
四、調(diào)試程序
接下來就可以正常的打斷點(diǎn)來調(diào)試遠(yuǎn)程服務(wù)器上的Java程序了,可以隨時(shí)查看變量狀態(tài)等,還是十分Happy的。不過目前沒能把System.out.println()的東西打印到本地,如果有這樣一種方法,誰知道請不吝賜教哦!~
分類:?Java 創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)總結(jié)
以上是生活随笔為你收集整理的MyEclipse远程调试Tomcat的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux学习笔记-第六课-/etc/p
- 下一篇: CSRF***与防御