Eclipse 遠程調試 WebSphere Application Server (WAS)
我們用 Eclipse 開發 Web 項目時,多會用某個插件(如 MyEclipse) 來對 Tomcat 中的應用進行單步調試。而要調試 WAS 下的應用,MyEclipse 也是可以的,但在 MyEclipse 中啟動 WAS 比較慢,且需要在本地安裝一個 WAS。再有便捷點的方法是用 WSAD (Websphere Studio Application Developer) 或它的升級版 RAD (Rational Application Developer),它們內置了對 WAS 很好的支持,不過也需要本機安裝了 WAS,WSAD/RAD 肥大的身軀自是不必說。若要讓 WSAD/RAD 進行遠程調試,似乎還得在Server 上安裝個 IBM Agent Controller。
實際上 WAS 就支持遠程調試的設置,打開它,你只需要用 Eclipse Debug 中的 Remote Java Application 功能連接到服務器上相應端口即行。設置很簡單,這樣的辦法你甚至可以在閑時偷偷的調試一下生產環境的 WAS 應用以驗證測試環境難以/無法重現的問題。具體做法如下(WAS 5.x 和 6.x 下的操作基本相同):
一:配置 WAS,打開調試服務
確定、保存後重啟應用服務器,WAS Base 版需要回到操作系統下重啟,如果是在 ND 管理控制臺下,可直接在頁面中重啟應用服務器。
二:配置 Eclipse,使用遠程調試
Eclipse 的菜單 Run -> Open Debug Dialog 窗口中,右擊 Remote Java Application
點擊 Debug 按鈕,這時候 Eclipse 即處理於偵聽 WAS 服務器的 JVM 調試端口的狀態。
三:打上斷點,調試應用
在你的 Eclipse 中的項目(註意,該項目已部署到 WAS 上的) 要調試的代碼行中打上斷點,然後可以在網頁上瀏覽 WAS 上的該應用。當執行到所在斷點的代碼行時,Eclipse 就會停在該行上,讓你盡情的 F5/F6 的跳,像平時那樣 Watch/Inspect/Display表達式或變量。
其他缺點就是:
1)觀察不到控制臺的輸出,還得看 WAS 的 SystemOut.log 文件或日誌文件。
2)JSP 文件無法調試,因為定位不到原碼,並且這種方式也不足以聰明。
3)代碼更新後,需手工把類文件或 JSP 文件拷到 WAS 的相應目錄下。
4)啟動了調試服務後,嚴重影響功能,通過鼠標點擊就能感覺到,所以正式系統上完事後趕緊關了該功能。
Eclipse 遠程調試 WebSphere Application Server (WAS)