插件开发:eclipse远程调试已发布的产品

如何远程debug已发布项目?

在做插件开发中,我们经常需要对已经发布了的RCP产品进行远程调试。例如:在已经发布产品后,客户在使用中发现了一个bug,这个时候,作为码农的我们往往需要:复现。那么第一步就是询问客户,使用的是哪一个版本?然后拿相同的版本首先进行远程调试一遍,看一下是否存在这个问题?

可能有些人要问,为什么一定要使用产品进行调试复现,而不用本地源码呢,毕竟最后修改的都是源码啊?因为你的代码一直在变动,比如你出问题的版本如果是一个月前的呢,那你拿现在的源码去做测试,谁知道你这一个月内加的代码会不会有什么影响,就算没有影响,为了产品的稳定,我们找bug不应该尽量减省时间、快速定位吗。。。。。

一般远程调试,本人经常使用的有俩种方法:

一、修改eclipse.ini的参数
找到用于开发插件的eclipse,在目录中找到eclipse.ini,里边都是一些设置JVM的参数,每个人的此文件都可能不同,但是大致内容、重要参数相同:

-startup
plugins/org.eclipse.equinox.launcher_1.4.0.v20161219-1356.jar
–launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.1.551.v20171108-1834
-product
org.eclipse.epp.package.rcp.product
-showsplash
org.eclipse.epp.package.common
–launcher.defaultAction
openFile
–launcher.defaultAction
openFile
–launcher.appendVmargs
-vmargs
-Xdebug
-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8000

-Dosgi.requiredJavaVersion=1.8
-Dosgi.instance.area.default=@user.home/eclipse-workspace
-XX:+UseG1GC
-XX:+UseStringDeduplication
–add-modules=ALL-SYSTEM
-Dosgi.requiredJavaVersion=1.8
-Xms256m
-Xmx1024m
–add-modules=ALL-SYSTEM
-Djava.util.Arrays.useLegacyMergeSort=true
-Duser.language=en

中间的加粗部分就是,设置远程调试的参数。

二、在产品和eclipse客户端中设置参数

  1. 打开产品,找到.exe启动文件,最好是创建一个快捷方式进行修改,不要影响正常启动:
    在这里插入图片描述
    然后鼠标右键点击快捷方式–>属性–>目标,在最后面添加一个空格,将:-vmargs -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000
    粘贴到后边,然后点击应用-确定即可。
  2. 打开eclipse源码,在工作空间右键debug as ->debug configrations->remote java applications->new—>RCP
    在这里插入图片描述
    启动时,先启动快捷方式,在启动debug即可。
    到这里就完事了,下面说一下远程参数:
    tansport=dt_socket:申明用socket协议进行远程DEBUG
    server=y:表明当前程序扮演server端来接受debugger请求
    suspend=y: 当前JVM进程进入suspend模式,监听来自客户端的debugger
    address=8000:当前JVM对外发布的被监听端口。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值