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. python-Word模板填充-docxtpl

    docxtpl 按指定的word模板填充内容 安装 pip install docxtpl 示例 from docxtpl import DocxTemplate data_dic = { 't1': ...

  2. 雷林鹏分享:url中加号引发的错误

    刚发现了博客的一个bug,标签页中一些标签带有空格,在url输出中使用了 urlencode 函数进行处理,导致空格被转换成了加号(+),这时通过url访问时会出现错误: 临时解决方法是在urlcod ...

  3. Mysql8 查询事务隔离级别

    Mysql8  查询事务隔离级别 SELECT @@TRANSACTION_ISOLATION REPEATABLE-READ  ---默认隔离级别(可重复读)

  4. Django细节小记

    前记:Django的ORM.模块有很多函数细节,要学会多看文档学习函数的细节 聚合annotate()和aggregate()的使用 简言之,annotate()得到的是查询集,类似all(),只不过 ...

  5. Java程序设计的第二次作业

    本次作业包含两个部分:一是以下4个题目的程序源码和运行结果截图:二是本次作业的小结(谈谈你在做作业的过程中遇到了哪些问题,如何解决,有哪些收获). 1.编写“人”类及其测试类.1.1 “人”类: 类 ...

  6. windows编程命名规则

    转自:http://blog.sina.com.cn/s/blog_52cbfc3f0100fdy6.html 匈牙利命名法是一种编程时的命名规范.基本原则是:变量名=属性+类型+对象描述.其中每一对 ...

  7. LCSS最长公共子序列算法

    0.论文基本介绍以及相关内容 分析移动用户位置的相似性,提取移动用户的相似路径在出行路径预测.兴趣区域发现.轨迹聚类.个性化路径推荐等领域具有广泛的应用. 重点:利用移动用户定位数据找到合适轨迹的表示 ...

  8. Ubuntu18.04: GPU Driver 390.116 + CUDA9.0 + cuDNN7 + tensorflow 和pytorch环境搭建

    1.close nouveau 终端输入:sudo gedit /etc/modprobe.d/blacklist.conf 末尾加两行 blacklist nouveau options nouve ...

  9. Hive分区表的导入与导出

    最近在做一个小任务,将一个CDH平台中Hive的部分数据同步到另一个平台中.毕竟我也刚开始工作,在正式开始做之前,首先进行了一段时间的练习,下面的内容就是练习时写的文档中的内容.如果哪里有错误或者疏漏 ...

  10. react生命周期-新增与替换

    class A extends React.Component { // 用于初始化 state constructor() {} // 用于替换 `componentWillReceiveProps ...