idea下远程debug配置

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/xj80231314/article/details/86622913

一. 背景:

在测试工作中,为方便发现代码中的逻辑问题,尝试使用远程debug模式,在测试过程中走查代码,不仅可以辅助测试减少与开发的沟通成本,更便于了解业务提升测试深度。

二. 配置方式:

  1. 调试的配置方式主要为设置JVM的参数,使之工作在debug模式下,常用参数为:
-Xdebug -Xrunjdwp:transport=dt_socket,address=8012,server=y,suspend=n
  1. 服务器端配置:

若项目为web项目,可在tomcat的启动程序如catalina.sh中添加如下:

CATALINA_OPTS="-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=28009"

若项目为javaapp项目,可在项目的default文件中添加如下:

# Debug port
if [ -z "$XDEBUG_ADDRESS" ];then
	JAVA_OPTS="${JAVA_OPTS} -Xdebug -Xrunjdwp:transport=dt_socket,address=8012,server=y,suspend=n"
fi
  1. idea配置

打开idea中的run/debug configurations, 选择remote类型,地址配置为服务器地址,端口配置为上述配置参数中的address,
在这里插入图片描述4. 重启项目,即可开启远程debug模式
三. 参数解释:

  1. JAVA支持调试功能,并提供了一个简单的调试工具JDB,其可支持设置断点及线程级的调试;

  2. 各参数解释:

-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的执行.

猜你喜欢

转载自blog.csdn.net/xj80231314/article/details/86622913