II. Eclipse 连接套接字模式下的 VM 调用示例(具体引用实践)

说明:不管采用哪种方式,调试的源代码都在eclipse的环境下

一.调试方式一(将目标应用程序作为调试的服务器,eclipse下的的debug启动配置作为调试客户机)

step一:调试器的后端设置

将远程调试的目标应用程序加入远程调试的启动参数,具体如下
java -Xdebug -Xrunjdwp:transport=dt_socket,server=y,address="8000" -jar
test.jar

step二:调试前端设置
调试客户机的设置(即就是在eclipse的环境下新建一个java远程程序的debug启动配置项,配置项包括远程jvm的ip地址和端口号),配置项中指定了远程应用程序的目标 VM 地 址。
为此,单击 Run > Debug Configurations,然后在 Eclipse 菜单中双击 Remote Java Application。从最新创建的启动配置中为目标应用程序指 定 IP 和端口。为了在同一台机器上运行远 程应用程序,仅需将主机 IP 指定为 localhost 或 127.0.0.1。

图 4. 连接套接字连接的配置

注意在上图中,2中的选择为"standard(Socket Attach)",3中复选框不要打钩,否则停止debug调试时同时会终止远程的jvm,

切记切记!!!!

点击上图的按钮后,在eclipse的视图下回出现远程jvm的线程栈结构,如下图所示

step三.在eclipse的源代码程序中加入合适的断点,等待远程程序的动作后,自动会进入源代码的程序中

二.调试方式二 (将目标应用程序作为调试的客户机,eclipse下的的debug启动配置作为调试服务器)

step一. 调试器的后端设置:
将远程调试的目标应用程序(作为调试的客户机)加入远程调试的启动参数,具体如下
启动远程应用程序。清单 7 显示了如何将 Java 应用程序作为调试客户机并调用它,然后使用端口 8000 上的主机 127.0.0.1 的套接字将其连接到一个正在运行的调试器应用程序。

java -Xdebug -Xrunjdwp:transport=dt_socket,address=192.168.45.211:8000,suspend=y
-jar test.jar

step二.调试器的前端设置:
调试服务器的设置(即就是在eclipse的环境下新建一个java远程程序的debug启动配置项,配置项包括远程jvm的ip地址和端口号).为此,单击 Run > Debug Configurations,然后在 Eclipse 菜单中双击 Remote Java Application。从最新创建的启动配置中为调试的后端(目标应用程序)制定连接jvm的监听端口,具体如下所示.

单击 Eclipse Debug 按钮,状态栏将显示消息 “waiting for vm to connect at port 8000...”。看到这个消息后,

step三:Eclipse 使用套接字监听模式连接类型进行监听。必须先启动调试前端来监听特定的端口。

利用 Eclipse IDE 的强大功能远程调试 Java 应用程序的更多相关文章

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

    Eclipse 中的远程调试特性 Eclipse 是一个图形化 Java 调试器前端.JDI 在 org.eclipse.jdt.debug 包中实现.本文不详细讨论 JDI 实现.参见 参考资料 获 ...

  2. 使用 MyEclipse远程调试 Java 应用程序

    远程调试,需要本程序和服务器上的程序源码是相同的,这我们服务器使用的是tomcat7.在本地通过MyEclipse 10来调试服务器上的代码,需要本地能访问到服务器,我的服务器是在linux下. 1. ...

  3. Eclipse快速入门:远程调试Java应用

    Eclipse快速入门:远程调试Java应用 2012年03月27日00:00 it168网站原创 作者:皮丽华 编辑:皮丽华 我要评论(0) 标签: Eclipse , Java , Java框架, ...

  4. Eclipse远程调试Java代码的三种方法

    Eclipse远程调试Java代码的三种方法, 第1种方法是用来调试已经启动的Java程序,Eclipse可以随时连接到远程Java程序进行调试, 第2种方法可以调试Java程序启动过程,但是Ecli ...

  5. paip. java resin 远程 调试 java resin remote debug

    paip. java resin 远程 调试 java resin remote debug 作者Attilax  艾龙,  EMAIL:1466519819@qq.com 来源:attilax的专栏 ...

  6. IDEA远程部署调试Java应用程序

    IDEA远程部署调试Java应用程序 目录 IDEA远程部署调试Java应用程序 基本概述 准备工作 远程服务器准备 安装JDK 配置JAVA_HOME 项目准备 创建一个SpringBoot项目 创 ...

  7. Eclipse IDE配置PHP开发、调试环境

    前言 使用java语言开发的朋友想必对Eclipse开发工具已经不陌生了,那么Eclipse作为java主流的开发工具,是否能够开发PHP项目呢?答案如你所想,肯定是可以的!以下就是该IDE下如何配置 ...

  8. 【Java】使用IDE开发工具远程调试Java代码

    概述 服务端程序运行在一台远程服务器上,我们可以在本地服务端的代码(前提是本地的代码必须和远程服务器运行的代码一致)中设置断点,每当有请求到远程服务器时时能够在本地知道远程服务端的此时的内部状态 测试 ...

  9. 可以用命令行控制eclipse断点增加删除、远程调试创建与启动的插件

    java # 创建断点(支持条件断点) curl -X PUT -H "Content-Type:application/json" --data '{"language ...

随机推荐

  1. 遇到的Cocos2dx问题

    平时工作中,多多少少,总会遇到些棘手的问题,此文章会不断更新,避免下次再入坑  Cocos 官方相关下载 https://github.com/fusijie/Cocos-Resource Easin ...

  2. vue的一些随记

    1.vue中在methods等中使用filters中的过滤器 this.$options.filters[filter](...args)

  3. mysql自增长主键,删除数据后,将主键顺序重新排序

    用数据库的时候,难免会删除数据,会发现设置的主键增长不是按照正常顺序排列,中间有断隔比如这样. 以我这个情况举例 处理方法的原理:删除原有的自增ID,重新建立新的自增ID. ALTER TABLE ` ...

  4. 2018-2019-2 20165303《网络攻防技术》Exp5 MSF基础应用

    实践目标 1.一个主动攻击实践 ms17_010(成功) ms08_067(成功) 2.一个针对浏览器的攻击 ms13-008(成功唯一) ms11-050(失败) ms13-069(成功唯一) ad ...

  5. python 装饰器问题及解决方式

    #统计函数运行时间 import time #装饰器 def timmer(func): def wrapper(*args,**kwargs): start_time=time.time() fun ...

  6. 20190320xlVBA_考场座位设置

    花了一写时间做了一个Excel宏工作簿,可以根据考场人数.座位排列和考生名单 生成<考试座位表><考生去向表><考试通知单>,想要的前往了解哦: https://i ...

  7. Java实训课

  8. C# WPF开发之MVVM模式开发

    MVVM模式由Model,View,ViewModel三部分组成. Model需继承INotifyPropertyChange(属性修改通知) ViewModel负责业务逻辑,连接View和Model ...

  9. SWUST OJ(1044)

    顺序栈基本操作的实现 #include <iostream> #include <cstdlib> using namespace std; typedef struct st ...

  10. git不提交某个文件

    在版本库中的文件,即使维护在.gitignore也不管用了.要先移除. 比如Constants.java,进入到这个文件目录下: 第一步:git rm -r -n —cached Constants. ...