`
longdick
  • 浏览: 580301 次
  • 性别: Icon_minigender_1
  • 来自: 0
社区版块
存档分类
最新评论

jboss、tomcat 远程调试参数说明

阅读更多

/**

*  转载请注明作者longdick    http://longdick.iteye.com

*

*/

 

先澄清一点,调试功能是JVM提供的,并不是eclipse或者是应用服务器的功能。JVM提供的调试架构称为JPDA :Java Platform Debugger Architecture(JPDA:Java平台调试架构) ,JPDA通过两个接口和一个协议来完成调试,分别是JVMTI(Java虚拟机工具接口)、JDI(Java调试接口)和JDWP(Java调试连线协议)。 

 

其中简要说一下比较重要的的JDWP的几个参数,jdwp参数格式如下:

-Xrunjdwp:<name1>[=<value1>],<name2>[=<value2>]... :

transport连接方式有两种,为dt_shmem(共享内存方式,目前只能支持windows)和dt_socket,分别表示本机调试和远程调试。

server=y 表示这是一个调试服务端;缺省=n 表示是调试客户端

suspend=n 表示vm在debug请求到达前不挂起;缺省=y 表示vm在debug请求到达前挂起,不会运行主函数。

address=5800是没被使用的监听端口号,一般选一个1024到65535之间的任意一个还没被占用的端口号都可以。

 

jboss的远程调试配置比较简单,只需要在bin/run.conf里的加上参数

 JAVA_OPTS="$JAVA_OPTS -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5080" 

jboss启动以后就可以了。

 

 

Tomcat中配置和jboss基本一致,只是在unix中会有所差别,具体如下: 

 

  修改Tomcat启动脚本,使之可以远程调试。修改bin/catalina.bat或catalina.sh,

将set DEBUG_OPTS=

改为set DEBUG_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,address=8000,suspend=n

其中端口可以改为任意值。

 

如果在unix系统中: 

还需要把% CATALINE_HOME %/bin/startup.sh中的最后一行exec "$PRGDIR"/"$EXECUTABLE" start "$@" 中的start改成jpda start。

输入命令startup.sh或者catalina.sh jpda start就可启动tomcat。 

 

 

 

 

 

 

 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics