Java远程调试

15 篇文章 1 订阅
Java 远程调试:

概念:	
	JPDA(Java Platform Debugger Architecture)是Java平台调试体系结构的缩写,通过JPDA提供的API,开发人员可以方便灵活的搭建Java调试应用程序。
	JPDA 主要由三个部分组成:Java虚拟机工具接口(JVMTI),Java调试线协议(JDWP),以及Java调试接口(JDI)

实战:
	第一步:让服务器支持远程调试:

		jdk1.4以后:
		服务器启动参数:-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=8899
			说明:# -Xrunjdwp	通知JVM使用(java debug wire protocol)来运行调试环境。
					transport	指定调试数据的传送方式,dt_socket表示使用socket模式
					server		指定是否支持以server模式运行的JVM
					suspend		指定是否在调试客户端建立起来后再启动JVM
					address		指定客户端需要监听的端口
			举例:java -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=8899 -jar application.jar

		jdk1.4
		服务器启动参数:-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8899
			说明:# -Xdebug	通知JVM开启debug模式。
			举例:java -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8899 -jar application.jar 
			


	第二步:在idea中创建一个Remote并启动。

		注意:本地的代码必须和远程服务器上的代码一致,否则可能会导致无法进入断点。若不能保持一致,则最起码应该保证要调试的类是一致的。

		步骤:Idea中创建一个Remote,并指定服务器的地址和-Xrunjdwp中设置的address,然后启动Remote,在需要调试的地方打上断点,即可调试。


	注意:如果idea没有连接到远程服务器,则可能是由于端口不合适造成的。故端口建议使用8788附近的端口(8788、8789、8899等),9788端口不可用(原因未查,可能端口有范围限制)。

idea中添加Remote的步骤

 

 

Tip:

debug时,在Variables窗口下,右键选择" Evaluate Expression...",可以打开一个窗口,在该窗口的输入框中输入我们想要调试的代码(可以是变量,也可以是语句),点击Evaluate按钮即可看到此时该代码在JVM中执行的结果。

 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值