紅薯“http://www.oschina.net/question/12_8196”
有些時(shí)候,調(diào)試不得不用外網(wǎng),比如說(shuō)做支付寶的支付接口,服務(wù)器后臺(tái)通 知就不得不用外網(wǎng)的ip。無(wú)奈,只能扔到服務(wù)器遠(yuǎn)程調(diào)試了。
網(wǎng)上講關(guān)于遠(yuǎn)程調(diào)試tomcat的倒是蠻多,基本都是將改啥catalina.sh,startup.sh的,操作還是復(fù)雜點(diǎn)。下面這篇就只針對(duì)于 linux下的tomcat遠(yuǎn)程調(diào)試,不用改啥文件,簡(jiǎn)單而又沒(méi)啥副作用。本人在tomcat6 的情況下遠(yuǎn)程調(diào)試成功。
相信很 多J2EE的開(kāi)發(fā)者都是在Windows上面開(kāi)發(fā)程序,然后把程序上傳到Linux下運(yùn)行的吧??墒怯袝r(shí)候在自己機(jī)器上運(yùn)行的好好的程序,放到服務(wù)器下就 出錯(cuò)了。單單看出錯(cuò)信息也推斷不出是哪里的問(wèn)題。這時(shí)候試試用Java的JPDA遠(yuǎn)程調(diào)試程序,一定可以讓你很滿意。
tomcat服務(wù)器已經(jīng)內(nèi)置了JPDA支持,只要用:
catalina.sh jpda start
這條命令啟動(dòng)tomcat,它就會(huì)監(jiān)聽(tīng)8000端口,等待調(diào)試器的連接。要注意不能使用 startup.sh腳本。tomcat會(huì)使用 JPDA_ADDRESS這個(gè)環(huán)境變量的值。比如想監(jiān)聽(tīng)8017端口:
export JPDA_ADDRESS=8017
catalina.sh jpda start
接著,選一個(gè)自己喜歡的調(diào)試器,基本上現(xiàn)在主流的如Eclipse、NetBean都可以。我主要使用Eclipse,操作只要三步:
1.選擇“Run”菜單里的“Open Debug Dialog”。
2.在對(duì)話框里找到“Remote Java Application”。 右鍵菜單選擇“New”創(chuàng)建一個(gè)配置。
3.新創(chuàng)建的配置的Project選擇服務(wù)器上的工程。Host和Port分別填寫(xiě)你服務(wù)器的IP和JPDA的端口,默認(rèn)是8000,或 者$JPDA_ADDRESS。
現(xiàn)在就可以像本機(jī)調(diào)試一樣, 設(shè)置斷點(diǎn)和跟蹤調(diào)試了。