socket调试工具_如何使用 intelij idea 远程调试 Java 代码

1.用maven package 打jar包,上传到服务器,微服务项目的服务端口号假设9090,那么调试端口号设置成9191,服务端口号与测试端口号不能一样,否则报地址被占用

nohup java -Xdebug -Xrunjdwp:transport=dt_socket,address=9999,server=y,suspend=n -jar auth-server.jar &

2.intelij idea设置,假设项目启动没有报任何异常,如下图操作

b8a2dbd01a794e8d0c94423c620da41b.png

点击运行或调试配置,再点击edit configurations...

f3cc21d09d9f688b83fe0fd750b047f8.png

找到remote,点一下remote,再点击左上角加号,填写有图所示配置,最后点击ok

d50dfa8866d9e9e409fa8f1139976f25.png

点击测试按钮,跟臭虫一样的按钮

点击测试按钮,跟臭虫一样的按钮,console输出如下内容,表示连接成功,最后在相应位置设置断点

Connected to the target VM, address: '192.168.0.17:9191', transport: 'socket'

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

如有错误,请指正

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值