您的位置:首页 > 运维架构 > Tomcat

jvm tomcat远程 断点 debug调试

2014-07-24 13:40 435 查看


JVM、TOMCAT
远程断点调试


1      基于JVM远程调试

1.1    演示

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

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


1

 


2

 


3

 

 


4

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


5

debug程序


6

 


7

进入调试


8

2      TOMCAT远程调试

2.1    演示

开启jpda

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

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

 

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


9

改变参数值。

只需在文件中设置对应的JPDA_TRANSPORT,JPDA_ADDRESS,JPDA_SUSPEND等值

配置eclipse debug

配置eclipse,点击debug


10

 

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
将暂停,直到调试器应用程序进行连接

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: