文档章节

MyEclipse的远程调试

Miss_Hello_World
 Miss_Hello_World
发布于 2015/02/26 09:28
字数 2122
阅读 19
收藏 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
粉丝 18
博文 668
码字总数 404202
作品 0
九龙坡
MyEclipse中文教程与使用技巧倾情分享

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

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

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

明舞
2015/06/02
0
0
转发“MyEclipse2015新版发布会” 有兴趣的朋友可以参加

MyEclipse是全球使用最普遍的企业级集成开发环境之一,主要用于Java、Java EE以及移动应用的开发,以其优秀的产品力,深受用户喜爱,是业内公认的巨头级产品。 【适用范围】:各种Java应用程...

kouxunli1
2015/02/02
0
0
MyEclipse使用前优化与配置

1 设置默认编码方式 首选项> General > Workspace > GBK改成UTF-8 2 设置默认文件默认打开方式 首选项> General > Editors > File Associatioin 1) htm html 改成MyEclipse HTML Editor (中......

EDIAGD
2014/06/20
0
0
myeclipse中支持jquery、ext、YUI、mooto等主流框架的自动完成、提示、...

分享一下在myeclipse中支持jquery、ext、YUI、mooto等主流框架的自动完成、提示、调试等方法。 也有人推荐spket ide,以下着重介绍link方式安装aptana,不推荐升级模式安装,升级安装会带来很...

zmldndx
2013/05/28
0
2

没有更多内容

加载失败,请刷新页面

加载更多

Java日期和时间获取问题

获取年月日时分秒 Calendar cal = Calendar.getInstance();//获取年int year = cal.get(Calendar.YEAR);//获取月,范围是0-11,最后使用需+1int month = cal.get(Cal...

lanyu96
27分钟前
7
0
Ceph学习笔记2-在Kolla-Ansible中使用Ceph后端存储

环境说明 使用Kolla-Ansible请参考《使用Kolla-Ansible在CentOS 7单节点上部署OpenStack Pike》; 部署Ceph服务请参考《Ceph学习笔记1-Mimic版本多节点部署》。 配置Ceph 以osdev用户登录: ...

LastRitter
30分钟前
6
0
OSChina 周二乱弹 —— 老司机表示右手无处安放

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @花间小酌 :分享李宗盛的单曲《鬼迷心窍》--春风再美也比不上你的笑 《鬼迷心窍》 - 李宗盛 手机党少年们想听歌,请使劲儿戳(这里) 每天早...

小小编辑
42分钟前
225
5
复习2

10月22日任务 awk 中使用外部shell变量 awk 合并一个文件 把一个文件多行连接成一行 awk中gsub函数的使用 awk 截取指定多个域为一行 过滤两个或多个关键词 用awk生成以下结构文件 awk用print...

hhpuppy
50分钟前
5
0
原型模式

1、原型模式-定义 用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象 克隆(浅度克隆->拷贝值类型或者引用,深度克隆->创建新的对象,开辟新的内存) 例如客户端知道抽象Pro...

阿元
今天
62
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部