zoukankan      html  css  js  c++  java
  • 【Java远程debug】

    转自 http://blog.csdn.net/hongchangfirst/article/details/44191925

    一、远程debug原理

    Java远程调试的原理是两个JVM之间通过debug协议进行通信,然后以达到远程调试的目的。两者之间可以通过socket进行通信。

    被debug的机器需要开启debug模式,debug使用的客户端可以是eclipse,总之我使用eclipse已经成功了。

    二、操作步骤

    1.服务端设置

    由于我们经常将程序部署到linux机器上,所以通常使用的是war、tar包或者直接使用可运行的jar包,由于近来spring-boot的盛行,直接使用可执行的jar包成为了最流行的部署方式:

    jdk1.7之后使用命令:

    java -agentlib:jdwp=transport=dt_socket,address=8000,server=y,suspend=n -jar you-runnable-jar.jar

    • jdwp:是 Java Debug Wire Protocol的缩写
    • server=y表示是监听其他debugclient端的请求
    • address=8000表示服务会在端口号8000监听debug请求,客户端必须设置这个端口号才能进行dubug
    • suspend表示是否在调试客户端建立连接之后启动 VM。如果为y,那么当前的VM就是suspend直到有debug client连接进来才开始执行程序。如果你的程序不是服务器监听模式并且很快就执行完毕的,那么可以选择在y来阻塞它的启动。

    当出现以下提示的时候表示服务端已经使用deubg模式启动:

    2.客户端设置

    eclipse毕竟还是我们最熟悉的IDE,所以使用它作为dubug的客户端。

      

       

      

    3.测试

    使用客户端发起一个请求,可以直接eclipse会直接进入debug模式。

  • 相关阅读:
    sqlalchemy
    tornado-模板继承extend,函数和类的导入
    vi规范
    Spark 分布式SQL引擎
    Spark SQL 编程
    Spark SQL 基本原理
    spark SQL概述
    spark 多语言编程
    hadoop YARN
    spark 存储管理机制
  • 原文地址:https://www.cnblogs.com/kuangdaoyizhimei/p/6131020.html
Copyright © 2011-2022 走看看