远程断点调试

        记录一种调试方式,当服务部署完成后出现接口调用与预期结果不符时该如何远程调试。JDK已经想到了这一点并提供了JDWP协议供开发人员进行远程调试。提供了一系类指令可以在命令行使用,但是指令过于复杂,只介绍关于IDEA开发工具提供了与本地调试一样的方式调试远程服务。其原理也是基于JDWP协议。

服务端(被调试端)

java -jar agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=55555 test-field.jar


transport 传输方式
    - dt_sokcet 端口链接
    - dt_shmem 共享内存(只限win且两端都在一台机器上)
server
    - y  表示服务端(被调试端)
    - n  表示客户端(调试端)
suspend
    - y  表示服务启动后就需要等待调试端链接,不连接不运行
    - n  服务启动后正常运行,用户正常使用,当调试端连接后才会断点分析
address  指定端口

调试端

 

         有几个注意事项,我这里用到了中文插件,所以可以显示不太一样。使用工具调试必须要求调试端的代码和服务端的代码一致,且代码块位置没有改动。使用的话就比较简单正常启动即可。出现已连接到目标VM.......即表示链接成功。之后访问远程服务的接口如果有断点就会停止等待。

 

        远程调试比较适合用于测试,本地环境没问题但是到开发环境就出现问题的情形。切记在调试端开启调试后,如果有被调试端的接口被访问并该接口含有断点则请求就会暂停。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值