文档章节

MyEclipse的远程调试

Miss_Hello_World
 Miss_Hello_World
发布于 2015/02/26 09:28
字数 2122
阅读 21
收藏 0

#程序员薪资揭榜#你做程序员几年了?月薪多少?发量还在么?>>>

注意:此功能在MyEclipse 2015中被重新设计,目前是不可用的。

1. 简介

这是一个关于讨论配置和调试在应用程序服务器上运行而不使用MyEclipse服务器启动连接器的应用程序的高级教程,无论MyEclipse是在同一台计算机上运行或是在不同的计算机上运行都可。对于一般易于配置和调试的应用程序,强烈建议MyEclipse服务连接器可用于应用服务器中的所有服务器操作详细教程。在执行本教程之前,请仔细阅读它。

有时候可能使用MyEclipse的连接器来启动应用程序服务器是不方便的。例如,你可能需要对集成开发环境中的实例进行远程调试;或者你的服务器启动脚本可能被修改或决定将其作为开发过程的一部分,所以你根本不可能改变外部服务器的管理措施,最后MyEclipse可能根本不支持你需要特定调试的服务器。如果你正在面临这样一些问题,本教程将会告诉你如果做到以下几点:

  • 配置你的服务器进行远程调试
  • 将应用程序部署到服务器
  • 使用自定义的Eclipse启动配置你的服务器进行通信
  • 在所有服务器上调试你的Java代码
  • 调试JSR-045中的JSP兼容服务器

2. 配置服务器的远程调试

要用MyEclipse来调试你的外部启动服务器,你需要配置应用程序,然后启动服务器来使外部调试器通过JPDA能够控制它。本节介绍如何配置任意应用服务器来进行远程调试,同时提供了几个具体实例来说明服务器的基础知识。

要配置一个Java应用程序(包括服务器)来用于远程调试,那么一些额外的Java虚拟机选项必须指定。所以远程调试选项的完整文档以及定义和实例,可以直接从Sun公司获取。总之,虚拟机必须知道启动调试的模式和监听一个特定端口的调试器连接。所需要的命令行选项实例如下所示。

调试选项 选项说明
-Xdebug 启用调试
-Xrunjdwp:  这些选项运行JDWP调试:
transport=dt_socket, 使用套接字通信
address=8000, 监听端口8000的调试器连接
server=y,  监听一个应用程序的调试器连接
suspend=n 不要让调试器在调试前等待继续连接
2.1 WebLogic服务器

根据你的操作系统平台,启动一个weblogic.cmd或startweblogic.sh脚本,作为从命令行启动的一个应用实例。该脚本读取名为JAVA_OPTIONS的环境变量,并添加specifed作为启动WebLogic调用脚本时的参数设置。在Windows中,这是可以通过打开cmd.exe并发出以下命令做到的:

cd serverbin

setJAVA_OPTIONS=-Xdebug -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n

.startWebLogic.cmd

用你的BEA主文件夹的实际位置上面的路径来替换,其他版本的WebLogic可以以类似的方式来启动。服务器已经完全启动之后,它可以被连接和控制到MyEclipse中,如第3节中所描述的那样。

2.2 Tomcat服务器

根据你的操作系统平台,调用一个名为catalina.bat或catalina.sh脚本,用来在命令行中启动Tomcat实例。当在调试模式下启动时,脚本将读取JPDA_TRANSPORT和JPDA_ADDRESS两个环境变量,并添加specifed用来启动Tomcat的参数设置。在Windows中,这是可以通过打开cmd.exe并发出以下命令做到的:

cd bin
set JPDA_TRANSPORT=dt_socket
set JPDA_ADDRESS=8000
catalina.bat jpda start

用Tomcat安装文件夹的实际位置上面的路径来替换,其他版本的Tomcat可以以类似的方式来启动。服务器已经完全启动之后,它可以被连接和控制到MyEclipse中,如第3节中所描述的那样。

2.3 Sun Java系统应用服务器8. x版

根据你的操作系统平台,调用一个名为asadmin.bat或asadmin.sh的脚本,用来在命令行中启动Sun Java系统应用服务器第8版本实例。如果你的服务器域名启动后,名为domain.xml的配置文件将被读取。domain.xml中包含可以手动设置启动远程调试的其他JVM启动选项,编辑domain.xml文件,如下图所示,然后启动服务器并以管理员命令启动远程调试。

MyEclipse的远程调试
编辑domain.xml能够进行远程调试

当服务器完全启动之后,它可以被连接和控制到MyEclipse中,如第3节中所描述的那样。

2.4 JBoss服务器

根据你的操作系统平台,调用一个run.bat或run.sh的脚本,作为从命令行启动的一个JBoss实例。该脚本读取名为JAVA_OPTS的环境变量,并添加指定用于启动JBoss调用脚本时的参数设置。在Windows中,这是可以通过打开cmd.exe并发出以下命令做到的:

cdbin
setJAVA_OPTS=-Xdebug-Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n
.run.bat

用JBoss安装文件夹的实际位置上面的路径来替换,其他版本的JBoss可以以类似的方式来启动。服务器已经完全启动之后,它可以被连接和控制到MyEclipse中,如第3节中所描述的那样。

3. 部署到远程服务器

MyEclipse中提供了一个集成的部署管理工具,在开发系统时可以包装和部署你的应用程序的任何文件系统。应用程序部署的基础知识都在Web开发与企业发展快速入门中有述,因为这是一个高级教程,假设你很熟悉这些教程详细的部署操作。

当部署到一个标准的MyEclipse启动应用服务器时,部署位置是通过基于服务器类型和部署方法选择的MyEclipse自动设置。用于远程服务器部署的,有一个"" 服务器类型,其允许部署位置的完整规范。

MyEclipse的远程调试
指定远程部署位置

配置完成之后,远程部署的表现和标准配置一样,所以分解部署和项目资源的变化继续自动同步。请记住,因为你要部署到自定义位置,所以你有责任确保你的应用程序服务器加载的是所选位置的应用程序。

当应用程序部署和服务器远程调试配置好以后,你可以随时启动服务器。

4. 调试远程服务器

MyEclipse中提供了一个特殊的调试启动配置—MyEclipse外部启动服务器,专门为连接远程应用服务器和支持完整的应用程序调试而设计。为你的外部服务器创建一个启动配置,单击调试工具栏上相应图标的下拉箭头,然后选择调试配置菜单。

打开调试配置窗口,选择MyEclipse外部启动服务器,然后单击新建启动配置图标,创建用于连接到应用服务器的调试启动配置。

MyEclipse的远程调试
创建一个新的远程调试配置

下图显示了一个JBoss 4的远程调试配置示例,任何服务器的设置类似。

MyEclipse的远程调试
JBoss示例的配置

当源查找路径默认为你的调试项目时,你可以从配置的源页面添加其他源查找的位置。

MyEclipse的远程调试
配置源查找路径

在配置了新的启动配置后,如果你的远程服务器已经运行并监听调试连接,你可以关闭它以后使用单击"调试"按钮。应用程序服务器和外部调试配置被启动后,一个新的调试进程将在调试视图中显示。

注意:调试视图不会自动显示,因此你需要换到调试的视角来看,或手动打开查看。

MyEclipse的远程调试
连接到外部调试服务器

此时,如果你使用内置的MyEclipse服务连接器来启动一个本地的服务器时,调试应用程序会是一样的。

MyEclipse官方中文网上线,欢迎下载交流!

© 著作权归作者所有

Miss_Hello_World
粉丝 23
博文 668
码字总数 404202
作品 0
九龙坡
私信 提问
加载中

评论(0)

MyEclipse中文教程与使用技巧倾情分享

MyEclipse是基于Eclipse平台的智能IDE,作为最实惠、综合全面的J2EE IDE与Web开发工具套件,MyEclipse一直受到Java开发者的青睐。 MyEclipse 既然是IDE工具,那么就有自己独特的使用方法,现...

kouxunli1
2014/11/04
160
0
使用Eclipse进行远程调试

今天决定做件有意义的事,写篇图文并茂的blog,为什么要图文并茂?因为很多事可能用语言也说不明白,从以前我发表的一篇文章可以看得出来,http://blog.csdn.net/sunyujia/archive/2008/03/2...

明舞
2015/06/02
88
0
使用Eclipse进行远程调试【转】

  今天决定做件有意义的事,写篇图文并茂的blog,为什么要图文并茂?因为很多事可能用语言也说不明白,从以前我发表的一篇文章可以看得出来,http://blog.csdn.net/sunyujia/archive/2008/...

rhino
2015/11/04
0
0
J2EE的运行环境

http://wenku.baidu.com/link?url=aPnXKWS41cnw8u-nLDzH7vMrg0WvD0XHcn5kF9yRXLYzY0a01HE0d8vfxTlxC_JRyXT1HKGc70YtGVGshvbh_YegC4-rJyV0bqYiX0tqKFK 按这个图示进行相关文档的阅读和学习 ID......

bravelionking
2016/05/13
4
0
JetBrains IDEA Web开发简单配置

很早前因为使用了一年的MyEclipse,不想更换其他的IDE工具,是因为各项配置,以及快捷键等。前段时间更换了IDEA工具,初步了解了一些功能,包括快捷,调试,配置,都很优于MyEclipse。但是I...

osc_gtofzrek
2019/05/04
2
0

没有更多内容

加载失败,请刷新页面

加载更多

@Pointcut()的execution、@annotation等参数说明

AOP的基本概念 Advice(通知、切面): 某个连接点所采用的处理逻辑,也就是向连接点注入的代码, AOP在特定的切入点上执行的增强处理。 @Before: 标识一个前置增强方法,相当于BeforeAdvice的...

dean_
22分钟前
13
0
是否finally块总是用Java执行? - Does a finally block always get executed in Java?

问题: Considering this code, can I be absolutely sure that the finally block always executes, no matter what something() is? 考虑到这段代码,我能绝对确定无论something()是final......

技术盛宴
40分钟前
15
0
Wiz — Hyperledger Fabric快速开发工具箱

Wiz工具箱可以快速搭建一个Hyperledger Fabric开发网络作为链码和应用开发环境,官方下载地址:http://sc.hubwiz.com/codebag/fabric-wiz/。 Wiz工具箱的主要特性如下: 内置原生Fabric 1.4 ...

区块链教程
43分钟前
7
0
基于自定义注解和SpringEL表达式的分布式锁实现

需求 1、项目中不可避免的需要使用分布式保证幂等。所以一个简单可靠,易用的工具提上日程。 2、演进过程 最开始使用try finally 块实现。代码臃肿。还要时刻记得释放。 改用回调方式封装锁的...

Lien6o
52分钟前
31
0
前后端分离配置token

解决跨域请求: import org.springframework.context.annotation.Configuration;import org.springframework.web.servlet.config.annotation.CorsRegistry;import org.springframe......

冥焱
今天
25
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部