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. scipy 短时傅里叶变化

    原文链接   https://www.cnblogs.com/hoojjack/p/9967298.html 计算短时傅里叶变换(STFT) scipy.signal.stft(x,fs = 1.0, ...

  2. hadoop搭建笔记(一)

    环境:mac/linux hadoop版本:3.1.1 安装特性:非HA 准备: 1. jdk8以上 2. ssh 3. 下载hadoop安装包 配置文件,这里都只有简易配置: 1. core-sit ...

  3. Xilinx Vivado的使用详细介绍(1):创建工程、编写代码、行为仿真

    Xilinx Vivado的使用详细介绍(1):创建工程.编写代码.行为仿真 Author:zhangxianhe 新建工程 打开Vivado软件,直接在欢迎界面点击Create New Projec ...

  4. [CentOS_7.4]Linux编译安装ffmpeg

    [CentOS_7.4]Linux编译安装ffmpeg   安装过程: 下载安装源,配置,编译,安装,设置环境变量. # wget http://www.ffmpeg.org/releases/ffm ...

  5. Node.js进程内存使用查看方法及返回对象的含义

    1 前言 使用process.memoryUsage() ,然后可以得到一个对象如下: var mem = process.memoryUsage(); console.log(mem); 结果: { ...

  6. ZT: C#不建类直接Json解析与取值

    C#不建类直接Json解析与取值 2017年10月19日 15:58:22 圆圆娃哈哈 阅读数:701    版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn. ...

  7. 第 10 章 容器监控 - 079 - 监控利器 sysdig

    sysdig 是一个轻量级的系统监控工具,同时它还原生支持容器. 通过 sysdig 我们可以近距离观察 linux 操作系统和容器的行为. Linux 上有很多常用的监控工具,比如 strace,t ...

  8. Mysql报错[Warning] TIMESTAMP with implicit DEFAULT value is deprecated和Buffered warning: Changed limits

    报错2019-04-24 12:06:46 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use -- ...

  9. [转]imageMagick 在nodejs中报错Error: spawn identify ENOENT的解决方案

    同时还有 Error: Could not execute GraphicsMagick/ImageMagick 这个问题, 也参考了 https://blog.csdn.net/chenxinpen ...

  10. qtp中type方法的按键常量

    记录键盘操作可以用set和presskey方法,而type方法是不记录的.type方法主要用于输入连接文本字符串和键盘修饰键(组合键),组合键之间用&符号. 如:JavaWindow(&quo ...