jvm tomcat远程 断点 debug调试

来源:互联网 发布:快乐牛牛开挂作弊软件 编辑:程序博客网 时间:2024/05/24 03:48


JVMTOMCAT远程断点调试

1      基于JVM远程调试

1.1    演示

本例子演示java命令对jar或者class远程断点调试。

  1. 以一个简单的jar为例,先生成可运行jar

1

 

2

 

3

 

 

4

  1. 运行jar -agentlib:jdwp=transport=dt_socket,suspend=y,address=8000

5

  1. debug程序

6

 

7

  1. 进入调试

8

2      TOMCAT远程调试

2.1    演示

  1. 开启jpda

Tomcat启动脚本主要在catalina.sh文件中,startup.shshutdown.sh脚本只是执行

./catalina.sh start/catalina.shstop命令。

 

开启jpda只需只执行./cataline.sh jpda start即可开启jpda,其中参数默认值如图。

9

  1. 改变参数值。

只需在文件中设置对应的JPDA_TRANSPORTJPDA_ADDRESSJPDA_SUSPEND等值

  1. 配置eclipse debug

配置eclipse,点击debug

10

 

  1. Debug

加个断点,点击页面操作(http://192.168.254.217:8280/ym-tweet/ga.do)。如图

11

3      参数说明

Xdebug

启用调试特性。

-Xrunjdwp:<sub-options>

在目标 VM中加载 JDWP实现。它通过传输和JDWP协议与独立的调试器应用程序通信。下面介绍一些特定的子选项。

Java V5开始,您可以使用-agentlib:jdwp选项,而不是-Xdebug-Xrunjdwp。但如果连接到 V5以前的 VM,只能选择-Xdebug-Xrunjdwp。下面简单描述-Xrunjdwp子选项。

1.5以前版本(1.5以后也可用):

-Xdebug-Xrunjdwp:transport=dt_socket,server=y,address=8000

1.5及以上版本:

-agentlib:jdwp=transport=dt_socket,server=y,address=8000

example:

java -Xdebug -Xrunjdwp:transport=dt_socket,server=y,address=8000-jar test.jar

transport

这里通常使用套接字传输。但是在Windows平台上也可以使用共享内存传输。

server

如果值为y,目标应用程序监听将要连接的调试器应用程序。否则,它将连接到特定地址上的调试器应用程序。

address

这是连接的传输地址。如果服务器为n,将尝试连接到该地址上的调试器应用程序。否则,将在这个端口监听连接。

suspend

如果值为y,目标 VM将暂停,直到调试器应用程序进行连接

 

0 0
原创粉丝点击