熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Java編程 >> Java開源技術 >> 正文

技術分享 配置Eclipse進行遠程調試二(圖)

2013-11-23 20:31:17  來源: Java開源技術 

  配置Eclipse進行遠程調試
  
  為了能在Eclipse中遠程調試JBoss應用需要以debug模式啟動JBoss服務器這可以通過在批命令腳本文件bin/run中設置debug選項來實現JBoss提供的調試機制是基於Java平台調試架構(JPDA)的按以下方式設置JAVA_OPTS變量
  
  set JAVA_OPTS= Xdebug Xnoagent  Xrunjdwp:transport=dt_socketaddress= server=y suspend=n %JAVA_OPTS%
  
  這些debug參數有
  
 
  有關debug參數設置的詳細說明參見JPDA文檔

  
  為了演示Eclipse的遠程調試功能需要在JBossServlet中拋出異常為此我們在JBossServletjava中引入NullPointerException(空指針異常)把原先的代碼
  
  outprintln(Eclipse JBoss Debugging);
  
  改為
  
  String str=null;outprintln(strtoString());
  
  接下來為該Eclipse項目的遠程調試進行設置在Debug選項下拉條中選擇Debug選項如圖所示
  
 
  圖 Debug選項

  
  圖中顯示的是Debug屏在該屏中選中Remote Java Application節點右擊節點選擇New如圖所示
  
 
  圖 新的debug設置

  
  在Debug Configuration屏中為Debug設置指定名字選中要調試的項目也就是此前在Eclipse IDE中創建的EclipseJBoss項目為Connection Type(連接類型)選擇默認值在Connection Properties(連接屬性)中將Host指定為localhost將Port(端口)指定為(JBoss服務器批命令腳本run中的端口設定值)點擊Apply按鈕將此遠程Java應用調試設置加入如圖所示
  
 
  圖 JBoss調試設置

  
  接下來在JBossServletjava文件中加入異常斷點此前我們已在JBossServlet中引入了NullPointerException異常選擇Run > Add Java Exception Breakpoint在該servlet類中加入斷點如圖所示
  
 educitycn/img_///gif >
  圖 加入Java異常斷點
  
  在Add Java Exception Breakpoint屏中選擇NullPointerException如圖所示NullPointerException斷點被加入到servlet類中
  
 educitycn/img_///gif >
  圖 NullPointerException斷點

  
  如果servlet應用在JBoss服務器上運行時產生了NullPointerException異常該應用就會被掛起同時Eclipse IDE的Debug視圖中會顯示出該異常
  
  遠程調試JBoss應用
  
  為部署在JBoss服務器上的servlet示例應用配置好debug設置後我們就可以在Eclipse IDE中調試servlet應用了參照用Eclipse開發一個JBoss應用一節所說的方法用buildxml文件對修改後(引入了NullPointerException異常)的JBossServletclass重新編譯為web應用生成新的webappwar文件在run批命令腳本中設定調試選項以debug模式啟動JBoss服務器
  
  接下來在Debug屏中選擇EclipseDebug作為調試設置點擊Debug按鈕將遠程調試器與JBoss服務器連接如圖所示
  
 educitycn/img_///gif >
  圖 將遠程調試器連接到JBoss服務器上

  
  這樣Eclipse的遠程調試器就連接到了JBoss服務器上選擇Debug Perspective按鈕切換到Eclipse的Debug視圖在該視圖中顯示出遠程調試器已連接到本機的JBoss服務器上端口號為如圖所示
  
 educitycn/img_///gif >
  圖 遠程調試器已連接到JBoss服務器上

  
  在浏覽器中輸入URL地//localhost:/webapp/catalog來訪問JBoss服務器上的JBossServlet就像我們在Debug視圖中看到的那樣servlet因拋出NullPointerException異常而被掛起產生了異常的那一行代碼被顯示出來如圖所示
  
educitycn/img_///gif >
  圖 JBoss服務器在產生NullPointerException處被掛起

  
  拋出異常的那一行是outprintln(strtoString());我們可以在Eclipse IDE的Run菜單中選擇不同的調試選項對該servlet應用進行調試
  
  小結
  
  我們在Eclipse IDE中以遠程的方式調試了部署在JBoss服務器上的一個應用只要將服務器設置成以debug模式啟動我們就可以用這個方法調試部署在其它類型應用服務器(如Weblogic)上的應用
From:http://tw.wingwit.com/Article/program/Java/ky/201311/28610.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.