eclipse cdt无法调试_java笔记:远程调试

远程调试是说,我们可以通过idea或eclipse的调试器连接到另一台计算机的java进程进行调试(例如断点,单步执行什么的),如果一个问题在本地无法重现,那么远程调试就是很好的应对方法。

首先,远程调试是需要一个开放的端口,服务器来说,一般以Linux居多,通常它们都是有防火墙的,如果需要远程调试,就得先开放一个tcp的端口供调试使用,idea的远程调试默认使用的是5005端口。

以idea为例,使用idea调试远程的应用,需要这样做:

2e8eb42b78444be6df305546a85872ca.png

9f021c0d2720da969f458a0c3f869935.png

首先,打开运行配置(Run Configuration),新建Remote方式,

5ee47b599aaa6b7b5873b2a079268c2f.png

然后填写一个线上环境可以开放的端口,或者可以临时开放一个供调试使用,用完就把他关闭,接下来选择Java版本,不同版本的调试参数有点区别。

复制command line arguments for remote JVM下面的参数,将里面的suspend=n改为suspend=y,这样java在启动的时候会暂停并且等待Debugger的连接,idea的调试器连接到远程应用之后,应用才会启动,就像本地的debug命令一样。

除非你想让Java始终都有一个接口用于调试,不然我认为suspend=y比较利于调试。

那么这个参数加到哪里呢?

只要加到远程应用启动时候的java命令就行:

=

这样,远程服务就会启动java并且停下来等待调试器连接了。

那么关于那些构建构建,比如maven如何远程调试,这就很简单了,只需要将这个jvm参数配置到maven的命令里面,让他运行应用的时候附上这个就能做到调试了,比如这样:

=

总之呢,不过什么build工具,一般都会提供附加jvm参数的地方,只要在这个时候把调试参数加进去就ok了。

其实之前用exe4j打包的java,打包之后运行出现问题,也是可以通过这种办法远程调试的,在打包的时候附上参数,然后exe运行的时候就可以用debugger连接调试了。

至于怎么连接,你看到那个configuration里面的host了吗?在那个填写域名或者ip,然后保存配置,并且使用这个配置按通常方式进行调试即可,开始调试之前注意要先启动远程的应用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值