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 恢复
Software--Java--远程调试的更多相关文章
- Java远程调试 java -Xdebug各参数说明
JAVA自身支持调试功能,并提供了一个简单的调试工具--JDB,类似于功能强大的GDB,JDB也是一个字符界面的 调试环境,并支持设置断点,支持线程线级的调试 JAVA的调试方法如下: 1.首先支持J ...
- Java远程调试代码不一致问题汇总
欢迎和大家交流技术相关问题: 邮箱: jiangxinnju@163.com 博客园地址: http://www.cnblogs.com/jiangxinnju GitHub地址: https://g ...
- java远程调试(断点)程序/tomcat( eclipse远程调试Tomcat方法)
tomcat远程调试: 1.Linux中配置tomcat在catalina.sh中添加如下CATALINA_OPTS="-Xdebug -Xrunjdwp:transport=dt_soc ...
- linux下的java远程调试jpda+tomcat
项目放到linux服务器了,服务器的环境或者数据可能和我们本地不一样,这个时候我们可能需要远程的断点进行调试,来查看请求过程中的各个变量的值.这里我们的应用服务器用的tomcat5.5.17 这个时候 ...
- java远程调试(idea)
遇见一个怪异问题,无奈线上数据库有限制,只能远程调试下代码.突然发现,远程调试代码真的好简单,简单记录下操作步骤. 1.在idea里创建一个Remote,远程连接的入口. 找到 Edit Config ...
- 使用java远程调试技术监控代码运行
JAPA介绍 JPDA(Java Platform Debugger Architecture)是 Java 平台调试体系结构的缩写,通过 JPDA 提供的 API,开发人员可以方便灵活的搭建 Jav ...
- JAVA远程调试
1.远程端启动必须添加jvm参数 -Xdebug -Xrunjdwp:transport=dt_socket,suspend=n,server=y,address=${debug_port} 其中de ...
- 开启Java远程调试
在JDK启动时,加入 -Xrunjdwp:transport=dt_socket,address=9900,server=y,suspend=n -Dcom.sun.management.jmxrem ...
- MC java 远程调试 plugin 开发
@ECHO OFF SET CATALINA_OPTS= -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,se ...
- java 远程调试
在java 命令上加入 -Xdebug -Xrunjdwp:transport=dt_socket,address=8001,server=y suspend=y 配置的端口时候要保证没有被占用
随机推荐
- Fiddler 抓包转成*.har文件在httprunner执行
1.Fiddler 抓包转成*.har 参考:https://blog.csdn.net/hou_angela/article/details/91837007 2.生成httprunner项目结构 ...
- pandas-数据结构转换-纵转横
如下代码,亲测有效,后面会附上入口以及出口数据结构截图 def test_func(file_path): """ 把pandas数据结构-dataframe,横向的索引 ...
- centos7 elasticsearch集群安装
1.下载安装包 https://www.elastic.co/cn/downloads/past-releases#elasticsearch elasticsearch-7.6.1-linux-x8 ...
- 【C++】【纯代码】获取电脑的mac地址
bool GetMacAddress(CString &LanMAC) { #define MAX_ADAPTER_NAME_LENGTH 256 #define MAX_ADAPTER_DE ...
- 基于excel的自动化框架
设定项目文件大致结构 atp/: 项目名 conf/:存放配置文件 data/:存放sql文件 lib/: 存放项目的所有源代码. logs/:存放日志文件 uploads/:存放下载的文件 star ...
- 小白之Python-基础中的基础02
Python-基础中的基础02 继续整理笔记,反复练习!fighting! -----------------华丽的分界线-------------变量:第一次出现叫做定义变量,再次出现为为该变量赋值 ...
- PySide6之初级使用
背景介绍pyside6提供了Qt6的Python侧API. 在GUI程序撰写方面, 笔者不太喜欢频繁的编译过程, 倾向于随时更改代码即时查看效果. 因此, 推荐在简单应用的情况下使用pyside6, ...
- Jenkins+Docker 实现一键自动化部署项目!
博主分享的非常好:https://mp.weixin.qq.com/s/a0JOuiqLsUMcQSEjZ4uGTg 本文章实现最简单全面的Jenkins+docker+springboot 一键自动 ...
- 关于SQLsever2012报错的一些经验总结
问题描述:数据库连接实例时出现报错情况: 问题截图: 故障软件:SQL sever2012 操作系统:windows sever 2022R2数据中心 期望结果:可以打开之前的实例 总结经验: 上面这 ...
- 打开IE浏览器被强制跳转至edge
打开edge浏览器,右上角更多,设置,默认浏览器,设置"从不" 控制面板,Internet选项,高级,浏览,取消勾选"启用第三方浏览器扩展"