<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    小石頭
    Excellence in any department can be attained only by the labor of a lifetime; it is not to be purchased at a lesser price.
    posts - 91,comments - 22,trackbacks - 0

    JAVA的遠程調試方法- -

    TagJAVA    DEBUG    REMOTE                                          

    首先,JAVA自身支持調試功能,并提供了一個簡單的調試工具--JDB,類似于功能強大的GDB,JDB也是一個字符界面的調試環境,并支持設置斷點,支持線程線級的調試。

    JAVA的調試方法如下:
    1。首先支持JVM,并設置參數,使之工作在DEBUG模式下,加入參數:-Xdebug -Xrunjdwp,transport=dt_socket,server=y,address=5432,suspend=n,onthrow=java.io.IOException,launch=/sbin/echo
    其中,-Xdebug是通知JVM工作在DEBUG模式下,-Xrunjdwp是通知JVM使用(java debug wire protocol)來運行調試環境。該參數同時了一系列的調試選項:
    transport指定了調試數據的傳送方式,dt_socket是指用SOCKET模式,另有dt_shmem指用共享內存方式,其中,dt_shmem只適用于Windows平臺。
    server參數是指是否支持在server模式的VM中.
    onthrow指明,當產生該類型的Exception時,JVM就會中斷下來,進行調式。該參數可選。
    launch指明,當JVM被中斷下來時,執行的可執行程序。該參數可選
    suspend指明,是否在調試客戶端建立起來后,再執行JVM。
    onuncaught(=y或n)指明出現uncaught exception 后,是否中斷JVM的執行.

    2。啟動調試工具。
    最簡單的調試工具就是上面提到的JDB,以上述調試用JVM為例,可以用下面的命運行啟動JDB:
    jdb -connect com.sun.jdi.SocketAttach:port=5432,hostname=192.168.11.213
    另外,還有好多的可視化調試工具,如 eclipse,jsawt等等。Eclipses可用 ant debug來建立一個調試方法。



    其實就是使用了JDK的JPDA,在啟動服務器(Jboss或者Tomcat等)的命令行參數里面加上:
    -Xdebug -Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=n


    Java遠程調試

    -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,address=3999,suspend=n

    -XDebug               啟用調試。
    -Xnoagent             禁用默認sun.tools.debug調試器。
    -Djava.compiler=NONE  禁止 JIT 編譯器的加載。
    -Xrunjdwp             加載JDWP的JPDA參考執行實例。
    transport             用于在調試程序和 VM 使用的進程之間通訊。
    dt_socket             套接字傳輸。
    dt_shmem              共享內存傳輸,僅限于 Windows。
    server=y/n            VM 是否需要作為調試服務器執行。
    address=3999          調試服務器的端口號,客戶端用來連接服務器的端口號。
    suspend=y/n           是否在調試客戶端建立連接之后啟動 VM 。

    Resin:
    RESIN_HOME\bin\httpd.exe -Xdebug -Xrunjdwp:transport=dt_socket,address=5005,server=y,suspend=n

    Tomcat:
    在catalina.sh/bat 的最上面加上:SET CATALINA_OPTS=-server -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005 即可。

    Weblogic:
    在startWebLogic.bat加上:set JAVA_OPTIONS=-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005

    啟動App server后,在ide下通過debug remote java application并偵聽相應的debug端口

    Eclipse Rcp:

    java -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,suspend=y,server=y,address=8000 -cp F:/rcp/plugins/org.eclipse.equinox.launcher_1.0.0.v20070606.jar org.eclipse.equinox.launcher.Main -application rcp.application -data F:/rcp/workspace -os win32 -ws win32 -arch x86 -nl en_US

    -Xdebug -Xnoagent等參數需要放在main class前面

    http://dn.codegear.com/cn/article/33654
    http://www.eclipsezone.com/eclipse/forums/t53459.html
    http://articles.techrepublic.com.com/5100-10878_11-6139512.html
    http://www.lifevv.com/tenyo/doc/20070918003423784.html

    posted on 2008-08-10 22:29 小石頭 閱讀(22693) 評論(0)  編輯  收藏 所屬分類: 我的java學習
    主站蜘蛛池模板: 国产三级免费观看| 久热综合在线亚洲精品| 日本高清不卡中文字幕免费| 亚洲精品国偷自产在线| 97人妻无码一区二区精品免费| 国产成人亚洲综合无| 久久亚洲国产成人亚| 日韩高清在线免费观看| 日本免费A级毛一片| 亚洲中文字幕久久精品无码A| 亚洲色爱图小说专区| 国产精品久久久久免费a∨| 国产精品九九久久免费视频| 亚洲mv国产精品mv日本mv| 国产成人亚洲精品影院 | 四虎免费大片aⅴ入口| 久久av免费天堂小草播放| 亚洲最大成人网色香蕉| 亚洲桃色AV无码| 日韩一品在线播放视频一品免费| 亚洲一区二区在线免费观看| 香蕉视频在线观看免费| 亚洲国产人成在线观看| 国产成A人亚洲精V品无码| 四虎影在线永久免费观看| 国产香蕉免费精品视频| 久久精品视频免费看| 黄色视频在线免费观看| 亚洲aⅴ无码专区在线观看| 亚洲精品**中文毛片| 国产精品国产亚洲精品看不卡| 国产免费69成人精品视频| 成年免费大片黄在线观看岛国| 久久精品视频免费播放| 国产精品99爱免费视频| 日韩免费码中文在线观看| 亚洲色成人四虎在线观看| 亚洲成年人电影网站| 亚洲AV无码不卡在线播放| 中文字幕在线亚洲精品| 亚洲AV中文无码乱人伦|