java远程调试_JAVA的远程调试方法
首先,JAVA自身支持调试功能,并提供了一个简单的调试工具--JDB,类似于功能强大的GDB,JDB也是一个字符界面的调试环境,并支持设置断点,支持线程线级的调试。
JAVA的调试方法如下:
1。首先支持JVM,并设置参数,使之工作在DEBUG模式下,加入参数:-Xdebug -Xrunjdwp,transport=dt_socket,server=y,address=5432,suspend=n,onthrow=java.io.IOException,launch=/sbin/echo
其中,-Xdebug是通知JVM工作在DEBUG模式下,-Xrunjdwp是通知JVM使用(java debug wire protocol)来运行调试环境。该参数同时了一系列的调试选项:
transport指定了调试数据的传送方式,dt_socket是指用SOCKET模式,另有dt_shmem指用共享内存方式,其中,dt_shmem只适用于Windows平台。
server参数是指是否支持在server模式的VM中.
onthrow指明,当产生该类型的Exception时,JVM就会中断下来,进行调式。该参数可选。
launch指明,当JVM被中断下来时,执行的可执行程序。该参数可选
suspend指明,是否在调试客户端建立起来后,再执行JVM。
onuncaught(=y或n)指明出现uncaught exception 后,是否中断JVM的执行.
2。启动调试工具。
最简单的调试工具就是上面提到的JDB,以上述调试用JVM为例,可以用下面的命运行启动JDB:
jdb -connect com.sun.jdi.SocketAttach:port=5432,hostname=192.168.11.213
另外,还有好多的可视化调试工具,如 eclipse,jsawt等等。Eclipses可用 ant debug来建立一个调试方法。
其实就是使用了JDK的JPDA,在启动服务器(Jboss或者Tomcat等)的命令行参数里面加上:
-Xdebug -Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=n
Java远程调试
-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,address=3999,suspend=n
-XDebug 启用调试。
-Xnoagent 禁用默认sun.tools.debug调试器。
-Djava.compiler=NONE 禁止 JIT 编译器的加载。
-Xrunjdwp 加载JDWP的JPDA参考执行实例。
transport 用于在调试程序和 VM 使用的进程之间通讯。
dt_socket 套接字传输。
dt_shmem 共享内存传输,仅限于 Windows。
server=y/n VM 是否需要作为调试服务器执行。
address=3999 调试服务器的端口号,客户端用来连接服务器的端口号。
suspend=y/n 是否在调试客户端建立连接之后启动 VM 。
Resin:
RESIN_HOME\bin\httpd.exe -Xdebug -Xrunjdwp:transport=dt_socket,address=5005,server=y,suspend=n
Tomcat:
在catalina.sh/bat 的最上面加上:SET CATALINA_OPTS=-server -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005 即可。
Weblogic:
在startWebLogic.bat加上:set JAVA_OPTIONS=-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005
启动App server后,在ide下通过debug remote java application并侦听相应的debug端口
Eclipse Rcp:
java -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,suspend=y,server=y,address=8000 -cp F:/rcp/plugins/org.eclipse.equinox.launcher_1.0.0.v20070606.jar org.eclipse.equinox.launcher.Main -application rcp.application -data F:/rcp/workspace -os win32 -ws win32 -arch x86 -nl en_US
-Xdebug -Xnoagent等参数需要放在main class前面
java远程调试_JAVA的远程调试方法相关推荐
- java 连接远程桌面_Java实现远程桌面(参赛作品)
[实例简介] 本人参赛作品,纯java实现多台电脑间的远程桌面连接. [实例截图] [核心代码] javaSE实现远程桌面 └── javaSE实现远程桌面 ├── 1.程序介绍 │ └── AI ...
- java的单步调试_java存储过程单步调试详解
1.在要调试的过程上单击test,如下图所示: 2.出现如下界面时单击最左上方的按钮:,如下图所示: 3.单击后呈现如下画面: 其中: 表示要停止test; 表示要全部运行完这个过程.单击它后你就不能 ...
- java tostring 库_java重寫toString()方法
toString()方法是Object類的方法,調用toString()會返回對象的描述信息. 1)為什么重寫toString()方法呢? 如果不重寫,直接調用Object類的toString()方法 ...
- java 二分查找_Java数组之Arrays方法
Java数组之Arrays方法,拉勾IT课小编为大家分析,JAVA数组的一些方法,提升开发水平,增强技术开发水平,不断提升个人的技术能力,在对于java开发领域,很多人都从基础做起. 1. 数组的工具 ...
- java集合示例_Java集合的addAll()方法和示例
集合类addAll()方法addAll()方法在java.lang包中可用. addAll()方法用于将所有给定元素(ele)放入给定集合(co). addAll()方法是一个静态方法,可以使用类名进 ...
- java parsefloat 误差_Java Float类parseFloat()方法与示例
Float类parseFloat()方法parseFloat()方法在java.lang包中可用. parseFloat()方法用于返回与给定String表示形式相对应的float值,换句话说,我们可 ...
- java getmethod类_Java Class类 getMethod()方法及示例
Class类getMethod()方法getMethod()方法在java.lang包中可用. getMethod()方法用于返回Method对象,这些对象指示该类的给定公共方法或由此Class对象表 ...
- java newinstance 包_Java Class类 newInstance()方法及示例
Class类newInstance()方法newInstance()方法在java.lang包中可用. newInstance()方法用于创建此Class对象表示的类的新实例. newInstance ...
- java jmx 配置_Java JMX远程调优一点就通
原标题:Java JMX远程调优一点就通 java远程调优可采用两种方式进行连接,jmx与jstatd,此文演示如何配置jmx进行连接调优. 配置指南 配置 功能 值 备注 -Dcom.sun.man ...
最新文章
- 十大经典排序算法(建议收藏)
- 会看会吃还要会做——自制小摊上的鸡蛋卷饼
- CodeForces 451A
- 两位小数乘两位小数竖式_人教版小学数学五年级上册小数乘整数公开课优质课课件教案视频...
- JSP Include 文件方式
- Python matplot画散列图
- SWPU ROUND #6(DIV.3)
- 2016年最值得学习的五大开源项目
- 苹果Mac视频特效合成神器:Blackmagic Fusion Studio
- 海康威视SDK基于JAVA二次开发
- vue仿微博评论回复_vue教程2-07 微博评论功能
- outlook服务器邮件满了怎么办,Outlook邮箱不能接收邮件提示邮件箱已满的解决方法...
- 深圳随到随考,科目四随到随考,科三理论第二理论随到随考说明
- 【微信小程序】接口生成自定义首页二维码
- 【redis】ERR AUTH <password> called without any password configured for the default user解决
- Linux 使用nohup命令运行python文件
- python爬空气污染实时数据_一键爬取空气质量相关指数
- 基于ssm的在线音乐播放网站的设计与实现
- 1-Java面试题-基础篇
- XLisetView+ViewPager无限轮播+多条目加载
热门文章
- 英语语法 -- 第一讲、语序和基本句式
- linux中的echo%3e文件,Linux文件已删除,引用未释放(deleted)
- 解读机器人在伦理规范中的社会行为
- 基于FME实现点云数据的过滤去噪和生成表面模型
- 计算机打开文件左栏怎么没有桌面,桌面任务栏不见了 - 电脑任务栏不见了的解决办法 - 安全专题...
- 程序也会过期,代码也会腐烂!建议这样做防止腐化!
- Springboot 集成积木报表(jimuReport)
- Linux-ubuntu20高分辨率如2k屏下deepin qq或wechat很小
- Prometheus TSDB
- 针织服装加工基础知识