zoukankan      html  css  js  c++  java
  • Software--Java--远程调试

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

    步骤:

    1. 首先被 debug 程序的虚拟机在启动时要开启debug模式,启动 debug 监听程序, jdwp 是 Java Debug Wire Protocol 的缩写。

    java -Xdebug -Xrunjdwp:server=y, transport=dt_socket,address=8000,suspend=n xxx_application

    jdk1.7之后可以这样

    java -agentlib:jdwp=transport=dt_socket,address=8000,server=y,suspend=n xxx_application

    xxx_application 是main程序, server=y 表示监听其他 debugclient端的请求。 address=8000表示端口8000

    suspend表示是否在调试客户端简历连接之后启动VM. 如果为 y, 那么当前的VM就是 suspend 直到有 debug client 连接进来才开始执行程序,如果不是服务器监听模式且很快就执行完毕的,可以选择在 y 来阻塞它的启动。

    然后用一个 debug 客户端去 debug 远程的程序了, 一般 IDE 自带有 debug 客户端,填写运行时被 debug 程序的虚拟机监听的端口号和地址,选择 connect 方式为 attach.

    然后可以开始远程调试。

    Intellij debug 快捷键

    F7 Step into

    F8 Step over

    Shift + F8, Step out

    Alt + F9 运行至光标处

    F9 恢复

  • 相关阅读:
    json和pickle模块
    53. 最大子序和
    69. x 的平方根
    leetcode刷题周记【2020.9.21-2020.9.26】
    推荐学习 Java 的地方
    5、SpringBoot:配置文件及自动配置原理
    4、SpringBoot:运行原理探究
    3、SpringBoot:helloworld
    2、SpringBoot:什么是微服务
    1、SpringBoot:什么是SpringBoot
  • 原文地址:https://www.cnblogs.com/masterSoul/p/8491237.html
Copyright © 2011-2022 走看看