- 浏览: 979670 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
运乃强谦:
老哥,你确定这个wsdl 地址 可以访问?
[CXF] Server与Client实现方式五:HTTPS -
wangyudong:
由CXF实现的微服务需要有比较好的工具去测试RESTful A ...
[CXF] Server与Client实现方式四:JMS -
dengmiao:
JAXB学习三 (验证) -
panamera:
你好。可以提供maven pom配置是怎么配置的?不知道你使用 ...
[CXF] Server与Client实现方式四:JMS -
u010221220:
请问楼主一二三部分的代码都应该放在哪个函数体中。
使用JDI监听Java程序运行
ShortCuts的增加
我们要运行java的时候,我们在java文件上点右键,就有一个“run as”菜单,可以到里面选择java的运行方式;在“debug as”菜单里可以选择调试方式。所以我们也想有一个这个怎么办?
这里就要用到另一个扩展点:org.eclipse.debug.ui.launchShortcuts。这是和UI相关的,所以放到我们的UI插件里。我的实现如下:
<extension point="org.eclipse.debug.ui.launchShortcuts"> <shortcut class="com.tibco.cdc.liugang.launcher.ui.shortcut.LiugangLaunchShortcut" icon="icons/sample.gif" id="com.tibco.cdc.liugang.launcher.ui.shortcut" label="Liugang Application" modes="run,debug"> <configurationType id="com.tibco.cdc.liugang.launcher.type"> </configurationType> <perspective id="org.eclipse.jdt.ui.JavaPerspective"/> <perspective id="org.eclipse.jdt.ui.JavaHierarchyPerspective"/> <perspective id="org.eclipse.jdt.ui.JavaBrowsingPerspective"/> <perspective id="org.eclipse.debug.ui.DebugPerspective"/> <contextualLaunch> <enablement> <with variable="selection"> <count value="1"/> <iterate> <instanceof value="org.eclipse.core.resources.IFile"/> <test value="*.liugang" property="org.eclipse.debug.ui.matchesPattern"/> </iterate> </with> </enablement> </contextualLaunch> </shortcut> </extension>
这里有几个地方:首先当然是那个实现类是最重要的了。其次我加了一个出现在条件,如果选择的是一个后缀名为“liugang”的文件,则出现。所以现在运行如下:
图六
所以这个时候需要自己去生成对应的configuration去运行。通常要做的事如下:首先查找是否这个文件对应的launchConfiguration已经存在,如果存在,则直接用就可以;否则,新建一个configuration然后运行。
补充
我们再回过头去看一下LiugangLaunchConfigurationType的launch()方法里的launch参数。在开始之前,我们把运行产生的eclipse的透视图切换到调试视图,然后运行一个:
图七
我们看红色圈住的地方。每运行一次,会产生一个这样的configuration。不过我们再看看java。
图八
我们看到它比我们生成的要多一次。如果是在调试情况下,那就更多了:
图九
这就是之前我们介绍参数:launch,时说到了,运行完以后可以把运行的结果加到这个launch里去。这里有两种加的方式:一个是加IProcess对象,直接运行的情况下一般是加这个;另一个是IDebugTarget对象,调试的情况下用这个,它有一个层次结构。现在我们先不讲调试。看看运行的情况下怎么加上吧。例如我们有一个取IP的操作,就可以如下完成:
public class LiugangLaunchConfigurationType implements ILaunchConfigurationDelegate { public void launch(ILaunchConfiguration configuration, String mode, ILaunch launch, IProgressMonitor monitor) throws CoreException { System.out.println("You selected liugang launchconfiguration type to run"); Process process; try { process = Runtime.getRuntime().exec("ipconfig"); RuntimeProcess runtimeProcess = new RuntimeProcess(launch,process,"Liugang Process",null); launch.addProcess(runtimeProcess); } catch (IOException e) { e.printStackTrace(); } } }
我们再运行试试:
图十
好玩吧?好了,先讲这么多了。下次就要开讲调试器了。不过这个比较复杂,可能要长一些时间的准备。等着就行了!
[参考]:
http://www.eclipse.org/articles/Article-Launch-Framework/launch.html
评论
断点的接口比如ILineBreakpoint等,当然也有IBreakpoint。不过其stack的接口中IStackFrame却又用了getLineNumber()等。换言之,需要利用行来定位。
如果不用原来的定位机制,那么只能自己重写那些接口呢,如何sourcelocator和path来确定呢?如何在process定义IRegion的实现类呢?
谢谢
如何用sourcelocator和path来确定呢?如何在process定义IRegion的实现类呢?
这个具体当前调试到哪个位置是由你的sourceLocator和Path来决定的。
发表评论
-
在OSGI容器Equinox中嵌入HttpServer
2011-12-27 18:01 10708简单介绍一下如何在一个osgi的bundle中内嵌使用http ... -
GEF中用鼠标移动画布
2011-12-27 13:37 1327第一步 增加Palette项: moveTool = n ... -
在Eclipse中使用Maven
2011-09-29 13:41 1240上一篇讲了Maven的基础知识,这一篇讲怎么在Eclipse里 ... -
增加Table的Column右键菜单
2011-03-15 15:55 1447table.addListener(SWT.MenuDete ... -
RGB与HSB之间的相互转换
2010-10-29 15:14 12283[引用:] [ http://www.missyuan.com ... -
给Table和Tree的Header加右键菜单
2010-10-29 11:26 2473通常,如果不做特殊处理的话,在表头(树头,以下统称表头)的上点 ... -
给Editor加上Annotation
2010-10-27 17:27 2701要自定义Annotation,需要实现以下扩展点: “ ... -
org.eclipse.ui.navigator.linkHelper的使用
2010-08-06 15:43 2387org.eclipse.ui.navigator.linkHe ... -
让表项支持鼠标拖动移位,并自动滚动滚动条
2010-04-07 11:43 2644设想我们有一个表,表中有很多数据(多到竖起滚动条至少要出现)。 ... -
Eclipse截屏插件
2010-01-19 15:59 2681闲来无事,就写了一个截屏插件,见附件,直接放在eclipse的 ... -
Eclipse取得路径的方法
2009-11-27 10:30 1870从插件中获得绝对路径: TestPlug ... -
实现自己的团队协作客户端一
2009-11-12 15:04 1395在Eclipse里自带了团队协 ... -
扩展Eclipse Java编辑器的链接功能
2009-09-09 09:35 3585在JDT中,可以在一个类,或者是方法,或者是变量上进行跳转。这 ... -
添加监听到EMF对象、加密保存
2009-08-14 10:10 961一、可以注册监听来获取EMF模型改变事件,例如: pu ... -
使用Tab键实现表格的跳转
2009-08-12 21:29 2937在Excel中,如果按Tab键,则焦点会在相邻的方格中不断的跳 ... -
StyledCellLabelProvider的应用
2009-08-11 16:47 2244昨天写了EditingSupport的应用,可以方便的编辑Ta ... -
EditingSupport的应用
2009-08-10 15:20 2932Eclipse3.3中提供了一个EditingSupport类 ... -
合理的自定义扩展点
2009-06-26 01:43 1774Eclipse中提供了各种各样的用于扩展Eclipse功能的 ... -
关键字高亮插件
2009-06-26 00:59 1893在eclipse中,如果用Ctrl+F来进行查找,它只会一个一 ... -
置窗口于显示器中央
2009-05-06 09:46 894要把窗口置于显示器的中央,也是很容易的。如下: ...
相关推荐
导入eclipse 直接运行的Launcher源码。
介绍launcher框架
windows下eclipse中编译运行Launcher2源码+所需jar+教程
博客地址:http://blog.csdn.net/qq_31530015
下载后导入eclipse中,可直接运行,如果代码出现红叉叉,请点project-->clean消除,再运行
Launcher3源码,eclipse上可直接编译。
android launcher Eclipse编译,运行中需要添加相关系统的jar包,添加方法在运行必看.doc有介绍
把android4.2里的源Launcher导入到eclipse下编译调试。需要使用的jar文件一同打包。
在Eclipse中编译运行Android4.3应用源码:Launcher2源码包。详细请参阅在Eclipse中编译运行Android4.3应用源码——Launcher2和Gallery2 http://blog.csdn.net/klpchan/article/details/11843295
把tomcatPluginV321里面的 com.sysdeo.eclipse.tomcat_3.2.1目录及内容复制到eclipse的dropins目录下。 重启Eclipse,如果正常,进去后在工具条上会看到三只小猫的图标。
有部分代码已经注释,完美导入Eclipse
Version:3.1 final Date:15 September 2005 Comment:Works with Eclipse 3.0 and Eclipse 3.1 (fix a problem with Eclipse 3.1M6) 博文链接:https://zhangjingqiang.iteye.com/blog/55774
项目导入使用Import->General->Existing Projects into Workspace,保证配置一样 详情请参考:http://blog.csdn.net/you_and_me12/article/details/12101071