美文网首页
MyEclipse开启远程调试(非原著)

MyEclipse开启远程调试(非原著)

作者: 程序员小韩 | 来源:发表于2017-09-01 15:01 被阅读0次

-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8008

//远程调试端口  不能与其他端口相同

很多时候我们调试程序工作都在开发环境上进行的,借助集成开发环境(IDE)双击就可以完成打断点。

如果遇到如下情况

1、现场生产环境

2、提交测试的环境

3、linux下的环境

4、生成环境代码写得不完善,异常被吞了,但又想知道被吞的异常

等等,这些环境出了问题,需要排查进行调试的时候,常规的调试方式可能有点显得遥不可及。

下面介绍java的远程调试,分为三部分

1、Jdb调试命令:jdb是jdk自带的工具,在bin目录下可以找到。

2、MyEclipse远程调试:只要MyEclipse和程序所在的机器能相互ping通,可以选择这种方式,可视化方便快捷。

3、自定义开发调试器:这部分不重点讲解,附件提供java调试体系文档,有兴趣可以研究一下,目前我知道的一般在大规模并发程序情况下,需要调式才有可能进行调试器自定义的开发,在没有必要的情况下,切勿重复干活。但不代表去了解这些东西没有用,java调试体系的机制,结构,思想也是前辈们智慧的结晶,有很多也是值得学习的地方,有些地方挺利索的,这些东西有时候是可以应用到项目程序设计中来,知山知水也是一种积累。

上面这两个按钮可能大家天天都在用,你可曾想过他们是如何做到的呢,其实七星瓢虫的按钮只是在jvm启动参数加了调试模式的参数,三角形按钮正常启动,可以使用jconsole之类的看看启动参数。

第一步:加入JVM远程调试参数,让JVM在debug模式下工作,加入的位置和配置最大最小内存位置一样

最少参数如下,调试端口8008

-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8008

如下图,加完参数后可以启动服务了,可能会有端口冲突,,启动时候看一下有没有报错服务端的设置就完成了

使用jdb调试

Jdb –connect com.sun.jdi.SocketAttach:hostname=172.16.13.100,port=8008 -sourcepath H:\eptpworkplace\EPCore\src

sourcepath 源码所在的文件夹,可以不指定,打断点有显示所有变量,再查看变量即可到达调式的目的

连接上后,help可以查看可以使用哪些命令和用法

打断点,比如在com.thunisoft.transferplatform.receive.ReceiveThreadRunnable 71行打断点,命令如下

stop at com.thunisoft.transferplatform.receive.ReceiveThreadRunnable:71

MyEclipse远程调试

创建远程调用程序

连接上后

打断点调试,所选的项目不一定能运行,需要调试哪个文件有哪个文件就行,可以不是工程的全部源文件

相关文章

网友评论

      本文标题:MyEclipse开启远程调试(非原著)

      本文链接:https://www.haomeiwen.com/subject/nwxkjxtx.html