1. 程式人生 > >Eclipse 遠程調試 WebSphere Application Server (WAS)

Eclipse 遠程調試 WebSphere Application Server (WAS)

eve 相同 插件 基本 項目 本地 窗口 ron 日誌文件

我們用 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(或ND) 的管理控制臺,在服務器->應用程序服務器中,點擊要啟用調試服務的應用服務器,然後進入調試服務,勾選上啟動(指定當服務器啟動時服務器是否將嘗試啟動指定的服務。)。JVM 調試端口默認為 7777,註意該端口不能有沖突(如有多個應服務器要啟用調試服務時,需要指定別的端口)。其他選項默認,或根據實際來設定。
  確定保存後重啟應用服務器,WAS Base 版需要回到操作系統下重啟,如果是在 ND 管理控制臺下,可直接在頁面中重啟應用服務器。

  二:配置 Eclipse,使用遠程調試
  Eclipse 的菜單 Run -> Open Debug Dialog 窗口中,右擊 Remote Java Application
->New,在右方的Conect 標簽頁中,選擇你要調試的 Project(即發布到 WAS 下啟用了調試服務的,在你的 Eclipse 中存在的項目),Host 填上 WAS 服務器的 IP,Port 就是前面的 JVM 調試端口。其他兩個標簽頁 Source/Common 可留意下。

  點擊 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)