`
helloJ
  • 浏览: 167009 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
社区版块
存档分类
最新评论

结合JDWP,利用MyEclipse远程调试web工程中的applet(java)程序

阅读更多

    最近在学习一些applet的相关应用,发现applet是在客户端运行,服务端的MyEclipse没办法直接调试,于是在网上搜罗相关的调试资料,发现资料挺多的,但都似有残缺,经过多方尝试,最后终于成功配置了适合web工程的调试,在此记录下配置过程,希望能对有类似需求的有所帮助。

 

1.环境:
客户端:已安装C:\Java\jre1.5.0_07,C:\Tomcat5.0\
            jre环境变量已配置好:classpat=.;C:\java\jre1.5.0_07\lib;
            操作系统为window xp
服务端:已安装D:\Program Files\MyEclipse Enterprise Workbench 5.1.0 GA
            workplace:D:\MyEclipse\workspace
(备注:本人客户端和服务端是同一台机器)

 

2.在程序运行机器(客户端)上为Applet程序启动时自动开启JDWP服务:
      到控制面板,打开“java控制面板”,在随后弹出的“java控制面板”对话框中,选择“Java” Tab页,在“java小应用程序 Runtime 设置”中点击“查看”按钮,在弹出的“Java Runtime 设置”对话框中设置“Java Runtime 参数”为:
-Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n

 

3.修改客户端tomcat相关配置文件:
3.1 修改C:\Tomcat5.0\bin下的文件catalina.bat 找到 这段代码

 

if not ""%1"" == ""jpda"" goto noJpda
set JPDA=jpda
if not "%JPDA_TRANSPORT%" == "" goto gotJpdaTransport
set JPDA_TRANSPORT=dt_shmem
:gotJpdaTransport
if not "%JPDA_ADDRESS%" == "" goto gotJpdaAddress
set JPDA_ADDRESS=jdbconn
:gotJpdaAddress

 

修改红色部分

 

set JPDA_TRANSPORT=dt_socket
set JPDA_ADDRESS=8000

 

说明:dt_shmem表示本机;dt_socket表示远程调试
         8000 就是是第 2 步设置的 address 参数,server监听的调试端口

 

3.2 修改 C:\Tomcat5.0\bin 下的文件startup.bat 找到 这段代码

 

call "%EXECUTABLE%" start %CMD_LINE_ARGS%

 

修改为

 

call "%EXECUTABLE%" jpda start %CMD_LINE_ARGS%

 

4. 服务端myeclipse设置调试环境
4.1 Run->Debug

 


4.2 在弹出的“debug”窗口中双击“Remote Java Appllication”,或点击鼠标右键新增 远程调试项,配置好后点击“close”,因为此时还debug不了

 

 

 

 

 


5.把“服务端”配置好要调试的web工程直接部署到“客户端”的tomcat或打成包放到tomcat中

6.“客户端”运行tomcat,运行web工程,“客户端”用ie访问web工程有applet的页面

7.“服务端”的 myeclipse 启动 print 调试

 


8.这时就可以在指定的项目print 的代码中设置断点来激活debug操作,当程序运行至断点处时将会停止下来进入debug

题外话:
print工程目录概览:

print
  |-src
    |-applets
  |-WebRoot
    |-applets
    |-WEB-INF
      |-classes
        |-applets

    在web工程中,applet是不能直接访问“WEB-INF/classes”目录下的类(WEB-INF文件夹安全性比较高,客户端无法访问),所以print/WebRoot目录下的jsp、html等页面文件只能设置引用print/WebRoot/下的类文件,如print/WebRoot/applets。
    在myeclipse的navigator perspective 透视图中,将MyEclipse自动编译好的类文件print/WebRoot/WEB-INF/classes/applets拷贝到print/WebRoot/applets中让页面文件引用。
    类文件放好后,打包或部署到“客户端”的tomcat中,运行tomcat发布工程,先“客户端”用ie访问页面,再“服务端”的MyEclipse启动远程调试,最后在print/src/applets/下的java文件设置断点,当程序运行至断点处时将会停止下来进入debug

2
0
分享到:
评论
1 楼 dalviker 2009-08-20  
好东西,谢谢

相关推荐

    myeclipse 远程调试jboss as7或者jboss eap6

    远程调试通常依赖于Java的调试接口(Java Debug Wire Protocol, JDWP),通过网络传输调试信息,使得本地的IDE(如MyEclipse)能够与远程服务器上的Java应用进行通信。 对于JBoss AS7和JBoss EAP6,它们都是基于...

    NC eclipse 远程调试

    NC Eclipse 远程调试是指在 Eclipse 集成开发环境中,使用 Java Debug Wire Protocol (JDWP) 实现远程调试 Java 应用程序的功能。JDWP 是一个基于 socket 的通信协议,用于在 debug 客户端和服务器之间传输调试信息...

    JDWP 远程命令执行 检查工具

    JDWP 远程命令执行检查工具,JDWP(Java DEbugger Wire Protocol):即Java调试线协议,是一个为Java调试而设计的通讯交互协议,它定义了调试器和被调试程序之间传递的信息的格式。说白了就是JVM或者类JVM的虚拟机都...

    使用 Eclipse 远程调试 Java 应用程序

    在开发Java应用程序时,远程调试是一项非常重要的技能,特别是在处理无法直接访问的远程服务器或资源有限的设备上运行的应用程序。Eclipse作为一个强大的Java集成开发环境(IDE),提供了丰富的远程调试功能。本篇...

    浅析JDWP远程命令执行漏洞 [ Mi1k7ea ]1

    2022/3/2 下午8:30浅析JDWP远程命令执漏洞 [ Mi1k7ea ]https://www.mi1k7ea.com/2021/08/06/浅析JDW

    深入Java调试体系(JPDA-JDWP)

    JPDA(Java Platform Debugger Architecture)是 Java 平台调试体系结构的缩写,通过 JPDA 提供的 API,开发人员可以方便灵活的搭建 Java 调试应用程序。 JPDA 主要由三个部分组成:Java 虚拟机工具接口(JVMTI),...

    远程调试测试工程代码.zip

    Java Development Kit (JDK) 提供了一个称为Java Debug Wire Protocol (JDWP) 的标准接口,使得开发者可以通过网络连接到运行中的Java应用程序进行调试。要启用远程调试,开发者需要在启动Java应用时添加特定的JVM...

    Eclipse远程调试Java代码

    本篇文章将详细讲解如何在Eclipse中设置和使用远程调试Java代码。 首先,我们需要理解远程调试的基本原理。远程调试允许开发者在本地IDE上对运行在另一台机器上的应用程序进行调试。这通常通过JVM的远程调试接口...

    JAVAECLIPSE下配置WINDCHILL远程调试WINDCHILL学习笔记.pdf

    ### JAVAECLIPSE 下配置 WINDCHILL 远程调试详解 #### 一、配置概述 本文档旨在详细介绍如何在 JavaEclipse 环境下配置 Windchill 进行远程调试的过程。远程调试是指在一个主机上调试运行在另一台机器上的应用程序...

    windchill远程调试详细介绍

    Windchill 远程调试是指在 Windchill 开发环境中,使用 Java 平台调试器(JPDA)来调试远程服务器上的 Java 应用程序。JPDA(Java Platform Debugger Architecture)是 Java 平台上的调试器定义的标准体系结构,它...

    NC开发环境远程调试端口配置.docx

    配置Java运行参数,以便在远程调试中使用。 * 例如,配置-Xdebug -Xrunjdwp:transport=dt_socket,address=127.0.0.1:8999的参数,其中IP和端口号可以根据需要修改。 四、WAS环境开远程调试方法 * 在WAS环境中,...

    java开发如何进行远程调试远程服务器,在远程服务器上设置断点

    通过以上步骤,你就可以实现从本地IDEA远程调试远程服务器上的Java应用了。这种方法对SpringBoot项目也同样适用,如文件`1服务端口:springboot项目,端口9457.png`可能涉及的是SpringBoot应用的默认端口配置。视频...

    Applet Debug

    Applet是一种小型的Java程序,可以在Web浏览器中运行,但开发过程中可能会遇到各种问题,此时就需要进行调试。远程调试使得开发者能够在本地环境中对运行在远程服务器上的Applet进行调试,而无需在服务器上直接操作...

    Java开发环境Eclipse远程调试端口配置

    ### Java开发环境Eclipse远程调试端口配置 #### 运行环境配置 为了实现Java Eclipse远程调试功能,首先...通过以上步骤,我们可以在多种环境中实现Java Eclipse远程调试,这对于定位生产环境中出现的问题非常有帮助。

    java 远程调试一个朋友推荐

    Java远程调试是指在开发过程中,开发人员能够通过网络连接到远程机器上运行的Java应用程序进行调试的过程。这种方式可以有效解决由于部署环境差异导致的问题定位困难,尤其是在分布式系统和微服务架构中,远程调试更...

    idea远程调试代码(图文详细)

    在进行软件开发的过程中,经常会遇到需要对部署在远程服务器上的程序进行调试的情况。传统的做法是在代码中添加日志输出语句来定位问题,但这不仅效率低下,而且难以精确地找到问题所在。相比之下,使用远程调试工具...

    Idea远程调试代码JDK1.8

    在Java开发过程中,远程调试是一项非常实用的功能,它允许开发者在不访问服务器本地环境的情况下,对...正确执行这些步骤后,开发者就可以在本地环境中轻松地调试远程服务器上的Java应用,提高问题定位和修复的效率。

    java 远程调试 ppt, 内有demo,简单实用

    Java远程调试是一项强大的技术,它允许开发者在不同的设备或服务器上对Java应用程序进行调试,而无需实际坐在该设备前。这份“Java远程调试PPT”深入浅出地讲解了这一主题,包括JVM的调试模型、Eclipse的调试技巧、...

    工作日志:远程调试的方法(Tomcat与JDPA)

    标题中的“工作日志:远程调试的方法(Tomcat与JDPA)”指的是一种常见的Java开发技术,用于在远程服务器上进行程序调试。这通常涉及到使用Apache Tomcat这样的Java应用服务器以及Java Debug Wire Protocol (JDWP)。...

Global site tag (gtag.js) - Google Analytics