<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-30049963</id><updated>2012-01-18T03:05:37.978-06:00</updated><category term='debug'/><category term='launching'/><category term='platform'/><category term='wizard'/><category term='incubator'/><category term='coding'/><category term='3.3'/><category term='tooling'/><category term='version'/><category term='since tag'/><category term='project'/><category term='3.4'/><category term='Java'/><category term='context'/><category term='API'/><category term='shortcut'/><title type='text'>Eclipse Lives In Winnipeg</title><subtitle type='html'>The Winnipeg Eclipse Team develops Platform / JDT / JSDT debug, PDE, API Tools, Ant and Firebug / Crossfire</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://eclipse-debug.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30049963/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://eclipse-debug.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Curtis</name><uri>http://www.blogger.com/profile/07823163562402913233</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://4.bp.blogspot.com/_3QRPXaBvGH4/SScmOnPIKvI/AAAAAAAAAB0/SFc-aWl8moI/S220/curtis_windatt.png'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>53</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-30049963.post-3484839189286999432</id><published>2011-10-12T11:18:00.004-05:00</published><updated>2011-10-12T11:37:22.222-05:00</updated><title type='text'>Debug Top-level Toolbar</title><content type='html'>Recently the platform debug team has been working on a new idea for debug-view-less debugging. We have come up with the idea of a top-level toolbar for the common debug commands; so (in theory) you can debug with needing the debug view front and center of your current perspective. The new toolbar can be activated from within the debug view using the &lt;span style="font-weight:bold;"&gt;View Menu &gt; Debug Toolbar&lt;/span&gt; menu item.&lt;br /&gt;&lt;br /&gt;The root Eclipse bug for the enhancement is &lt;a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=258767"&gt;bug 258767&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;We have already found lots of room for improvement:&lt;br /&gt;&lt;a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=359151"&gt;bug 359151&lt;/a&gt;, &lt;a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=264485"&gt;bug 264485&lt;/a&gt;, &lt;a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=360172"&gt;bug 360172&lt;/a&gt;, &lt;a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=360636"&gt;bug 360636&lt;/a&gt; and &lt;a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=360637"&gt;bug 360637&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;So for all those interested in the debug-view-less debugging idea, please spend some time and try out the new toolbar, just remember to file bugs!&lt;br /&gt;&lt;br /&gt;The toolbar look and feel:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/-7WjkXV0sbOw/TpXA5gfPgqI/AAAAAAAAAAo/WZTiCMgxg_8/s1600/debug-toolbar.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:left;cursor:pointer; cursor:hand;width: 320px; height: 108px;" src="http://1.bp.blogspot.com/-7WjkXV0sbOw/TpXA5gfPgqI/AAAAAAAAAAo/WZTiCMgxg_8/s320/debug-toolbar.png" border="0" alt="The debug top-level toolbar"id="BLOGGER_PHOTO_ID_5662644200694317730" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30049963-3484839189286999432?l=eclipse-debug.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eclipse-debug.blogspot.com/feeds/3484839189286999432/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=30049963&amp;postID=3484839189286999432' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30049963/posts/default/3484839189286999432'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30049963/posts/default/3484839189286999432'/><link rel='alternate' type='text/html' href='http://eclipse-debug.blogspot.com/2011/10/debug-top-level-toolbar.html' title='Debug Top-level Toolbar'/><author><name>Mike Rennie</name><uri>http://www.blogger.com/profile/11412892738963099114</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-7WjkXV0sbOw/TpXA5gfPgqI/AAAAAAAAAAo/WZTiCMgxg_8/s72-c/debug-toolbar.png' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30049963.post-38203235126909275</id><published>2011-01-14T16:12:00.000-06:00</published><updated>2011-01-14T16:12:04.460-06:00</updated><title type='text'>Debugging Ant Tasks with Self Hosting</title><content type='html'>Do you know that Eclipse Ant support has debugging capabilities?&lt;br /&gt;&lt;br /&gt;If not, check out &lt;a href="http://www.ibm.com/developerworks/opensource/tutorials/os-ecl-easyant/"&gt;this tutorial&lt;/a&gt; to get started.&lt;br /&gt;&lt;br /&gt;Do you know how to self-host with Eclipse to test plug-ins?&lt;br /&gt;&lt;br /&gt;If not &lt;a href="http://wiki.eclipse.org/PDE/FAQ#How_do_test_my_plug-ins"&gt;here is a quick overview&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;To debug ant tasks in a self hosted environment, the tasks must be included in a plug-in project.&amp;nbsp; If you are working with tasks outside of a plug-in development scenario, you can use remote debugging instead.&amp;nbsp; Here is a &lt;a href="http://www.vitorrodrigues.com/blog/2009/07/10/debugging-ant-tasks-in-eclipse/"&gt;blog post&lt;/a&gt; to get you started.&lt;br /&gt;&lt;br /&gt;Scenario:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;You are developing an ant task to be included in an Eclipse plug-in.&amp;nbsp; You have the java code to execute the task in a plug-in that defines the task as an ant task extension in the plug-in xml.&amp;nbsp; The task runs, but the output is a bit off.&amp;nbsp; Time to start debugging. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;1) Start a runtime workbench&lt;br /&gt;&lt;br /&gt;Same as you would when debugging any other plug-in.&lt;br /&gt;&lt;br /&gt;2) Create a new ant script&lt;br /&gt;&lt;br /&gt;It doesn't matter what kind of project you put the script in.&lt;br /&gt;&lt;br /&gt;Fill in the script with the proper targets and properties.&amp;nbsp; When calling your tasks, you will have to put in their full name as defined in the &lt;i&gt;org.eclipse.ant.core.antTasks&lt;/i&gt; extension.&amp;nbsp; When running from a built jar, just the name of the class is satisfactory, but when self hosting we need the full name.&lt;br /&gt;&lt;br /&gt;3) Create a new ant launch configuration&lt;br /&gt;&lt;br /&gt;Right click on the script and hold down Ctrl while clicking "Debug &amp;gt; Ant Script".&amp;nbsp; You can also open the launch config dialog from the main menu, "Run &amp;gt; External Tools &amp;gt; External Tools Configurations".&lt;br /&gt;&lt;br /&gt;4) Set up configuration options&lt;br /&gt;&lt;br /&gt;Give the configuration a name.&amp;nbsp; On the JRE tab, select "Run in the same JRE as the workspace".&amp;nbsp; If you don't change this option, debugging won't work correctly.&lt;br /&gt;&lt;br /&gt;5) Run the configuration&lt;br /&gt;&lt;br /&gt;If there is a problem running the task, check that you have the full name of the task written in.&amp;nbsp; You can also check that Ant knows about your task by looking on the Ant &amp;gt; Runtime preference page (the Tasks tab will list all known tasks).&lt;br /&gt;&lt;br /&gt;6) Start debugging&lt;br /&gt;&lt;br /&gt;Set some breakpoints in the host workspace.&amp;nbsp; Make sure you debug your ant script (not just run it).&lt;br /&gt;&lt;br /&gt;Note: Hot Code Replace does not work when debugging this way as the jar containing the tasks must be rebuilt.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30049963-38203235126909275?l=eclipse-debug.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eclipse-debug.blogspot.com/feeds/38203235126909275/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=30049963&amp;postID=38203235126909275' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30049963/posts/default/38203235126909275'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30049963/posts/default/38203235126909275'/><link rel='alternate' type='text/html' href='http://eclipse-debug.blogspot.com/2011/01/debugging-ant-tasks-with-self-hosting.html' title='Debugging Ant Tasks with Self Hosting'/><author><name>Curtis</name><uri>http://www.blogger.com/profile/07823163562402913233</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://4.bp.blogspot.com/_3QRPXaBvGH4/SScmOnPIKvI/AAAAAAAAAB0/SFc-aWl8moI/S220/curtis_windatt.png'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30049963.post-8491649837170830951</id><published>2010-10-20T10:15:00.004-05:00</published><updated>2010-10-20T10:31:52.349-05:00</updated><title type='text'>Weird SVN State</title><content type='html'>Today when I got to work and tried to sync a pile of my projects, I was met with the following exception (and a cute dialog telling me the same thing, but without as many red X's):&lt;br /&gt;&lt;br /&gt;org.eclipse.team.svn.core.connector.SVNConnectorException: svn: '/home/mrennie/workspaces/workspace/CommandLineDebugger' is not a working copy&lt;br /&gt;svn: Cannot read from '/home/mrennie/workspaces/workspace/CommandLineDebugger/.svn/format': /home/mrennie/workspaces/workspace/CommandLineDebugger/.svn/format (No such file or directory)&lt;br /&gt;at org.polarion.team.svn.connector.svnkit.SVNKitConnector.handleClientException(SVNKitConnector.java:1400)&lt;br /&gt;at org.polarion.team.svn.connector.svnkit.SVNKitConnector.status(SVNKitConnector.java:337)&lt;br /&gt;at org.eclipse.team.svn.core.extension.factory.ThreadNameModifier.status(ThreadNameModifier.java:608)&lt;br /&gt;at org.eclipse.team.svn.core.operation.local.RemoteStatusOperation$2.run(RemoteStatusOperation.java:147)&lt;br /&gt;at org.eclipse.team.svn.core.utility.ProgressMonitorUtility.doSubTask(ProgressMonitorUtility.java:118)&lt;br /&gt;at org.eclipse.team.svn.core.operation.AbstractActionOperation.protectStep(AbstractActionOperation.java:154)&lt;br /&gt;at org.eclipse.team.svn.core.operation.AbstractActionOperation.protectStep(AbstractActionOperation.java:149)&lt;br /&gt;at org.eclipse.team.svn.core.operation.local.RemoteStatusOperation.runImpl(RemoteStatusOperation.java:145)&lt;br /&gt;at org.eclipse.team.svn.core.operation.AbstractActionOperation.run(AbstractActionOperation.java:81)&lt;br /&gt;at org.eclipse.team.svn.core.utility.ProgressMonitorUtility.doTask(ProgressMonitorUtility.java:104)&lt;br /&gt;at org.eclipse.team.svn.core.operation.CompositeOperation.runImpl(CompositeOperation.java:95)&lt;br /&gt;at org.eclipse.team.svn.core.operation.AbstractActionOperation.run(AbstractActionOperation.java:81)&lt;br /&gt;at org.eclipse.team.svn.core.operation.LoggedOperation.run(LoggedOperation.java:39)&lt;br /&gt;at org.eclipse.team.svn.core.utility.ProgressMonitorUtility.doTask(ProgressMonitorUtility.java:104)&lt;br /&gt;at org.eclipse.team.svn.core.utility.ProgressMonitorUtility.doTaskExternal(ProgressMonitorUtility.java:90)&lt;br /&gt;at org.eclipse.team.svn.core.synchronize.AbstractSVNSubscriber.findChanges(AbstractSVNSubscriber.java:314)&lt;br /&gt;at org.eclipse.team.svn.core.synchronize.AbstractSVNSubscriber$UpdateStatusOperation$2.run(AbstractSVNSubscriber.java:349)&lt;br /&gt;at org.eclipse.team.svn.core.utility.ProgressMonitorUtility.doSubTask(ProgressMonitorUtility.java:118)&lt;br /&gt;at org.eclipse.team.svn.core.operation.AbstractActionOperation.protectStep(AbstractActionOperation.java:154)&lt;br /&gt;at org.eclipse.team.svn.core.operation.AbstractActionOperation.protectStep(AbstractActionOperation.java:149)&lt;br /&gt;at org.eclipse.team.svn.core.synchronize.AbstractSVNSubscriber$UpdateStatusOperation.runImpl(AbstractSVNSubscriber.java:347)&lt;br /&gt;at org.eclipse.team.svn.core.operation.AbstractActionOperation.run(AbstractActionOperation.java:81)&lt;br /&gt;at org.eclipse.team.svn.core.operation.LoggedOperation.run(LoggedOperation.java:39)&lt;br /&gt;at org.eclipse.team.svn.core.utility.ProgressMonitorUtility.doTask(ProgressMonitorUtility.java:104)&lt;br /&gt;at org.eclipse.team.svn.core.utility.ProgressMonitorUtility.doTaskExternal(ProgressMonitorUtility.java:90)&lt;br /&gt;at org.eclipse.team.svn.core.utility.ProgressMonitorUtility.doTaskExternal(ProgressMonitorUtility.java:81)&lt;br /&gt;at org.eclipse.team.svn.core.synchronize.AbstractSVNSubscriber.refresh(AbstractSVNSubscriber.java:186)&lt;br /&gt;at org.eclipse.team.svn.core.synchronize.UpdateSubscriber.refresh(UpdateSubscriber.java:73)&lt;br /&gt;at org.eclipse.team.core.subscribers.Subscriber.refresh(Subscriber.java:466)&lt;br /&gt;at org.eclipse.team.core.subscribers.SubscriberMergeContext.refresh(SubscriberMergeContext.java:85)&lt;br /&gt;at org.eclipse.team.core.mapping.provider.SynchronizationContext.refresh(SynchronizationContext.java:109)&lt;br /&gt;at org.eclipse.team.internal.ui.synchronize.RefreshModelParticipantJob.doRefresh(RefreshModelParticipantJob.java:69)&lt;br /&gt;at org.eclipse.team.internal.ui.synchronize.RefreshParticipantJob.run(RefreshParticipantJob.java:309)&lt;br /&gt;at org.eclipse.team.internal.ui.synchronize.RefreshModelParticipantJob.run(RefreshModelParticipantJob.java:117)&lt;br /&gt;at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)&lt;br /&gt;Caused by: org.tigris.subversion.javahl.ClientException: svn: '/home/mrennie/workspaces/workspace/CommandLineDebugger' is not a working copy&lt;br /&gt;svn: Cannot read from '/home/mrennie/workspaces/workspace/CommandLineDebugger/.svn/format': /home/mrennie/workspaces/workspace/CommandLineDebugger/.svn/format (No such file or directory)&lt;br /&gt;at org.tigris.subversion.javahl.JavaHLObjectFactory.throwException(JavaHLObjectFactory.java:724)&lt;br /&gt;at org.tmatesoft.svn.core.javahl.SVNClientImpl.throwException(SVNClientImpl.java:1929)&lt;br /&gt;at org.tmatesoft.svn.core.javahl.SVNClientImpl.status(SVNClientImpl.java:304)&lt;br /&gt;at org.tmatesoft.svn.core.javahl.SVNClientImpl.status(SVNClientImpl.java:282)&lt;br /&gt;at org.polarion.team.svn.connector.svnkit.SVNKitConnector.status(SVNKitConnector.java:334)&lt;br /&gt;... 33 more&lt;br /&gt;Caused by: org.tmatesoft.svn.core.SVNException: svn: '/home/mrennie/workspaces/workspace/CommandLineDebugger' is not a working copy&lt;br /&gt;svn: Cannot read from '/home/mrennie/workspaces/workspace/CommandLineDebugger/.svn/format': /home/mrennie/workspaces/workspace/CommandLineDebugger/.svn/format (No such file or directory)&lt;br /&gt;at org.tmatesoft.svn.core.internal.wc.SVNErrorManager.error(SVNErrorManager.java:64)&lt;br /&gt;at org.tmatesoft.svn.core.internal.wc.admin.SVNAdminAreaFactory.open(SVNAdminAreaFactory.java:149)&lt;br /&gt;at org.tmatesoft.svn.core.internal.wc.admin.SVNWCAccess.doOpen(SVNWCAccess.java:355)&lt;br /&gt;at org.tmatesoft.svn.core.internal.wc.admin.SVNWCAccess.open(SVNWCAccess.java:263)&lt;br /&gt;at org.tmatesoft.svn.core.internal.wc.admin.SVNWCAccess.open(SVNWCAccess.java:256)&lt;br /&gt;at org.tmatesoft.svn.core.internal.wc.admin.SVNWCAccess.openAnchor(SVNWCAccess.java:151)&lt;br /&gt;at org.tmatesoft.svn.core.wc.SVNStatusClient.doStatus(SVNStatusClient.java:320)&lt;br /&gt;at org.tmatesoft.svn.core.javahl.SVNClientImpl.status(SVNClientImpl.java:300)&lt;br /&gt;... 35 more&lt;br /&gt;&lt;br /&gt;After swearing for a bit and asking Google what I should do (and having no luck) I tried deleting suspicious looking files from the /.svn folder located in each affected project. The winner - at least for me - was to delete the /.svn/tmp folder and all of its contents and then restart Eclipse. After that all is well and I can sync to my hearts content.&lt;br /&gt;&lt;br /&gt;I filed a bug for this state problem here:&lt;br /&gt;https://bugs.eclipse.org/bugs/show_bug.cgi?id=328258&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30049963-8491649837170830951?l=eclipse-debug.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eclipse-debug.blogspot.com/feeds/8491649837170830951/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=30049963&amp;postID=8491649837170830951' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30049963/posts/default/8491649837170830951'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30049963/posts/default/8491649837170830951'/><link rel='alternate' type='text/html' href='http://eclipse-debug.blogspot.com/2010/10/weird-svn-state.html' title='Weird SVN State'/><author><name>Mike Rennie</name><uri>http://www.blogger.com/profile/11412892738963099114</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30049963.post-584630013989978971</id><published>2010-09-15T13:38:00.002-05:00</published><updated>2010-09-15T14:17:20.041-05:00</updated><title type='text'>How p2 based targets work</title><content type='html'>Software Site locations in Target Definitions, typically described as "p2 based targets" are targets that get their bundles from an update site or p2 repository.  This article will go over some of the implementation details of these targets.  Knowing how the bundles are downloaded and added to the target can help to reproduce bugs and find workarounds.&lt;br /&gt;&lt;br /&gt;For more general information on Target Platforms, see my &lt;a href="http://eclipse-debug.blogspot.com/2010/09/what-is-target-platform.html"&gt;previous article&lt;/a&gt;.  The Eclipse help doc also explains a lot about how to create p2 based targets and add content to them.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;The Basics:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Target definitions are created using the preference page or the editor.  To create a p2 based target, at least one 'software site' location must be added to the target.  The actual site location is abstracted from PDE.  A local zipped repo, a remote site or a local profile will all be treated the same.  A software site location specifies a site (or a category such as "all available sites") as well as one or more &lt;span style="font-style: italic;"&gt;Root IUs&lt;/span&gt;.  The root IUs describe what is being downloaded from the site, they are often high level features that effectively group a collection of bundles.&lt;br /&gt;&lt;br /&gt;Target definitions must be &lt;span style="font-style: italic;"&gt;resolved&lt;/span&gt; to modify the bundle list on the content tab or to set one as the active target platform.  The resolve operation runs for each location independently.  For most locations the resolve simply scans the location to get a list of file locations for bundles.  In the case of a software site location, a more complex operation must be run.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Resolving Software Sites:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;For each software site location, the following steps are taken:&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Load the repositories.  This will create a queryable repository object.  p2 will often request a repo's contents.xml file.&lt;/li&gt;&lt;li&gt;Get the root IUs.  If the location didn't already have actual installable units for the root units, the root IUs will be obtained from the site.&lt;/li&gt;&lt;li&gt;Setup the planner or slicer.  More on this later.&lt;/li&gt;&lt;li&gt;Create a profile.&lt;/li&gt;&lt;li&gt;Run the operation. Downloads and installs the units into the profile.&lt;/li&gt;&lt;li&gt;Collect bundle locations for the target platform.&lt;/li&gt;&lt;/ol&gt;Note: In 3.7 a new performance enhancement was added that will skip the above steps and instead attempt to get a list of bundles from the stored profile.  If the profile doesn't contain all the expected bundles or a problem occurs, the operation reverts to following the above steps.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Important Locations:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The following directories describe where PDE/p2 stores information related to the target resolution.  Those familiar with p2 can modify the contents of the directories to force things to be recreated or to use the contents for a special purpose.&lt;br /&gt;&lt;br /&gt;Target Definition Files:&lt;br /&gt;&lt;workspace&gt;/.metadata/.plugins/org.eclipse.pde.core/.local_targets&lt;br /&gt;Where PDE stores the targets it creates from the preference page.&lt;br /&gt;&lt;br /&gt;Profile Location:&lt;br /&gt;&lt;eclipse&gt;/p2/org.eclipse.equinox.p2.engine/profileRegistry&lt;br /&gt;Where profiles are created and persisted&lt;br /&gt;&lt;br /&gt;Bundle Pool:&lt;br /&gt;&lt;workspace&gt;/.metadata/.plugins/org.eclipse.pde.core/.bundle_pool&lt;br /&gt;Where p2 will download the bundles to during the operation&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Planning vs Slicing&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Once we have one or more sites and root IUs, we run a provisioning operation to download the required bundles and install them into a profile.  The operation can be done using a &lt;span style="font-style: italic;"&gt;slicer&lt;/span&gt;, which is typically used for mirroring a site or a &lt;span style="font-style: italic;"&gt;planner&lt;/span&gt;, which is used by Eclipse to safely install and update itself. &lt;br /&gt;&lt;br /&gt;Which one to use is determined by the options at the bottom of the wizard when editing a software site location.  If "Include required software" is checked the planner is used.  If unchecked the slicer is used.  The include all environments setting determines if environment properties are set on the slicer.&lt;br /&gt;&lt;br /&gt;The planner behaves the same as though we were installing the root IUs into an application.  Therefore it checks that the complete set of required IUs are available to be downloaded and installed.  If any IU is missing, the planner will report an error saying that a requirement is missing.  This can be convenient as you may not realize some important piece is missing from your target.  However, the target does not need to be a complete, runnable install, so forcibly requiring everything may be optimal.&lt;br /&gt;&lt;br /&gt;The slicer uses an operation that copies IUs from a remote site to a local location.  The slicer does create a list of required IUs, however it does not fail if the requirements are missing.  Instead it will download all requirements it can from the site or sites that have been provided.  This is a lot more flexible than the planner as all available IUs (even IUs that don't apply to the current environment settings) will be downloaded.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Conclusion:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;After the resolve operation is complete, a list of bundles will be returned (pointing to the local copies in the bundle pool).  PDE will use the local bundles as the target.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30049963-584630013989978971?l=eclipse-debug.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eclipse-debug.blogspot.com/feeds/584630013989978971/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=30049963&amp;postID=584630013989978971' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30049963/posts/default/584630013989978971'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30049963/posts/default/584630013989978971'/><link rel='alternate' type='text/html' href='http://eclipse-debug.blogspot.com/2010/09/how-p2-based-targets-work.html' title='How p2 based targets work'/><author><name>Curtis</name><uri>http://www.blogger.com/profile/07823163562402913233</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://4.bp.blogspot.com/_3QRPXaBvGH4/SScmOnPIKvI/AAAAAAAAAB0/SFc-aWl8moI/S220/curtis_windatt.png'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30049963.post-5026595255034989192</id><published>2010-09-15T10:57:00.007-05:00</published><updated>2010-09-15T12:05:44.170-05:00</updated><title type='text'>What is a Target Platform</title><content type='html'>&lt;span&gt;&lt;span class="resultofText" name="resultofMatch"&gt;The current Target Platform in PDE is very important to anyone developing bundles in Eclipse.  Whether you are developing SDK Plug-ins, an RCP product or a OSGi application, managing the contents of your target platform is important.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;So what is a target platform?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;At its core, a target platform is a collection of plug-ins (aka bundles) that PDE can use to compile against, launch with, lookup in&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span class="resultofText" name="resultofMatch"&gt;formation in and more.  When developing a bundle it is almost guaranteed that you will depend on other bundles.  While you can have the complete required set of bundles in your workspace, it clutters the navigator views and degrades performance.  The target platform provides an easy way to manage the bundles you build against.&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&lt;span class="resultofText" name="resultofMatch"&gt;The target platform is used for the following in PDE:&lt;/span&gt;&lt;/span&gt;&lt;ol&gt;&lt;li&gt;&lt;span&gt;Compile - Plug-ins in the workspace are built against the &lt;span class="resultofText" name="resultofMatch"&gt;target&lt;/span&gt; platform so you do not have to have everything in your workspace&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;Launch - When using PDE's launchers you can choose the set of  plug-ins you want to launch.  By default the Eclipse Application  Launcher will start with all plug-ins in the &lt;span class="resultofText" name="resultofMatch"&gt;target&lt;/span&gt;, but will use workspace plug-ins instead when available&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;Calculate Dependencies - PDE assists you in finding the  plug-ins your plug-ins was include/require to compile correctly by  looking at what is available in the &lt;span class="resultofText" name="resultofMatch"&gt;target&lt;/span&gt; platform&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;span&gt;&lt;span class="resultofText" name="resultofMatch"&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Where do I edit the target platform?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The target platform is managed on the &lt;span style="font-style: italic;"&gt;PDE &gt; Target Platform&lt;/span&gt; preference page.  When you go to that page (3.5 and later) you will see a list of all the &lt;span style="font-style: italic;"&gt;target definitions &lt;/span&gt;you have available with the current target platform bolded.  PDE only has a single active target platform that all bundles in the workspace use (this might &lt;a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=159072"&gt;change someday&lt;/a&gt;).&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;a href="http://2.bp.blogspot.com/_3QRPXaBvGH4/TJD69rBR1nI/AAAAAAAABlg/4ysrpPrJwJs/s1600/prefdialog.png"&gt;&lt;img style="cursor: pointer; width: 320px; height: 283px;" src="http://2.bp.blogspot.com/_3QRPXaBvGH4/TJD69rBR1nI/AAAAAAAABlg/4ysrpPrJwJs/s320/prefdialog.png" alt="" id="BLOGGER_PHOTO_ID_5517185480955909746" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span&gt;&lt;span class="resultofText" name="resultofMatch"&gt;&lt;br /&gt;However, you can have multiple target definitions.  A target definition describes the contents of a target.  You can select any target definition as the target platform and that is what PDE will build against.  For users who only build one product, you only need to create and modify a single definition, but users who develop different applications (or different versions of the same application) in the same workspace will find that having multiple target definitions makes it easy to switch modes.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;How do I create a target?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;To get started, go to the preference page and hit add to create a new target.  There are some options to create targets from existing templates, but for now select &lt;span style="font-style: italic;"&gt;Nothing&lt;/span&gt; and hit next.&lt;br /&gt;&lt;br /&gt;There are many options when setting up a target, but only a few are needed for basic setups.  The first step is to give the target definition a name so we can recognize it later.&lt;br /&gt;&lt;br /&gt;&lt;pic&gt;&lt;/pic&gt;&lt;/span&gt;&lt;/span&gt;&lt;a href="http://2.bp.blogspot.com/_3QRPXaBvGH4/TJD8XZdGPII/AAAAAAAABlo/_uXqmAEpTyE/s1600/newtarget.png"&gt;&lt;img style="cursor: pointer; width: 320px; height: 227px;" src="http://2.bp.blogspot.com/_3QRPXaBvGH4/TJD8XZdGPII/AAAAAAAABlo/_uXqmAEpTyE/s320/newtarget.png" alt="" id="BLOGGER_PHOTO_ID_5517187022428978306" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span&gt;&lt;span class="resultofText" name="resultofMatch"&gt;&lt;pic&gt;&lt;br /&gt;The important parts of a target definition is its locations and its content.  The locations define where the target should find bundles, the content defines which bundles from the location to take.&lt;br /&gt;&lt;br /&gt;On the locations tab you can add 4 types of locations.  A directory will just collect any bundles found in the directory you point it to.  An installation will treat the location as an Eclipse application.  Rather than just looking in a directory, the installation location will consider link folders, a platform.xml if the app uses update manager, or a bundles.info file if the app uses p2 (simple configurator).  A feature location will add a single feature and its included bundles to the target.  Finally, a software site location will allow bundles to be retrieved from a local or remote update site or p2 repository.&lt;br /&gt;&lt;br /&gt;The content tab is only important if you need to limit the bundles in the target.  For plug-in developers this step is unecessary, but for RCP developers it can be more important.  &lt;a href="http://www.modumind.com/2008/04/21/why-create-a-custom-target-platform/"&gt;This article&lt;/a&gt; explains the reasoning.  The content tab will list all the bundles in the target, along with check boxes to remove them.  The tab also provides a number of ways to filter the list so you can quickly remove certain types.&lt;br /&gt;&lt;br /&gt;&lt;pic&gt;&lt;/pic&gt;&lt;/pic&gt;&lt;/span&gt;&lt;/span&gt;&lt;a href="http://2.bp.blogspot.com/_3QRPXaBvGH4/TJD8lSiqlEI/AAAAAAAABlw/W4E8qyrt1Mo/s1600/targetcontent.png"&gt;&lt;img style="cursor: pointer; width: 320px; height: 227px;" src="http://2.bp.blogspot.com/_3QRPXaBvGH4/TJD8lSiqlEI/AAAAAAAABlw/W4E8qyrt1Mo/s320/targetcontent.png" alt="" id="BLOGGER_PHOTO_ID_5517187261091451970" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span&gt;&lt;span class="resultofText" name="resultofMatch"&gt;&lt;pic&gt;&lt;pic&gt;&lt;br /&gt;One internal detail that target platform users may want to know is that when bundles are unchecked, the remaining list of bundles is stored as an include list, independant of the locations.  This was a change from the &lt;3.5 style="font-style: italic;"&gt;share&lt;/pic&gt;&lt;/pic&gt;&lt;/span&gt; button on the preference page.  You can also create a new target definition file in the workspace using File &gt; New.  The target files can be added to a version control system and shared among team members.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;What other features use targets?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The Target Platform State View can be used to see what is in your target.&lt;br /&gt;&lt;a href="http://download.eclipse.org/eclipse/downloads/drops/R-3.6-201006080911/eclipse-news-part4.html#pdetargetdialog"&gt;Add new content&lt;/a&gt; to your target on the fly.&lt;br /&gt;You can &lt;a href="http://download.eclipse.org/eclipse/downloads/drops/R-3.6-201006080911/eclipse-news-part4.html#exporttarget"&gt;export the contents&lt;/a&gt; of your target platform.&lt;br /&gt;Manage your target &lt;a href="http://download.eclipse.org/eclipse/downloads/drops/R-3.6-201006080911/eclipse-news-part4.html#featuretarget"&gt;contents using features&lt;/a&gt;.&lt;br /&gt;Add the target platform to the&lt;a href="http://download.eclipse.org/eclipse/downloads/drops/R-3.6-201006080911/eclipse-news-part4.html#synch-java-search"&gt; java search path&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;What is in the future for targets?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;In 3.7 there have been multiple improvements around software site (p2) based targets, including improved &lt;a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=276326"&gt;resolution performance&lt;/a&gt; and better &lt;a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=295576"&gt;offline support&lt;/a&gt;.  PDE's API Tooling features already leverage some of the target code, but hopefully in the near future there will be even &lt;a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=324310"&gt;better integration&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Expect another blog post soon explaining more about how p2 targets work.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30049963-5026595255034989192?l=eclipse-debug.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eclipse-debug.blogspot.com/feeds/5026595255034989192/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=30049963&amp;postID=5026595255034989192' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30049963/posts/default/5026595255034989192'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30049963/posts/default/5026595255034989192'/><link rel='alternate' type='text/html' href='http://eclipse-debug.blogspot.com/2010/09/what-is-target-platform.html' title='What is a Target Platform'/><author><name>Curtis</name><uri>http://www.blogger.com/profile/07823163562402913233</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://4.bp.blogspot.com/_3QRPXaBvGH4/SScmOnPIKvI/AAAAAAAAAB0/SFc-aWl8moI/S220/curtis_windatt.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_3QRPXaBvGH4/TJD69rBR1nI/AAAAAAAABlg/4ysrpPrJwJs/s72-c/prefdialog.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30049963.post-1533295681091053577</id><published>2010-05-13T12:20:00.004-05:00</published><updated>2010-05-13T12:46:45.545-05:00</updated><title type='text'>"Add new expression" inline in Expressions View</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_zT-lAlLsQQ8/S-w321MrG9I/AAAAAAAAABI/_sIdXBr5QsQ/s1600/Add_new_expression.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 200px;" src="http://1.bp.blogspot.com/_zT-lAlLsQQ8/S-w321MrG9I/AAAAAAAAABI/_sIdXBr5QsQ/s400/Add_new_expression.png" alt="" id="BLOGGER_PHOTO_ID_5470809062481009618" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;The debugger expressions view has a new feature: the ability to add a new expression without opening a dialog.  When user clicks on "Add new expression" entry, a cell editor is activated to enter the new expression. &lt;br /&gt;&lt;br /&gt;I hope most people will appreciate this little convenience but since introducing it few months ago I got &lt;a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=312177"&gt;one complaint&lt;/a&gt; and a request to make it optional.  What do you think?  Is it worth adding yet another preference to try to make everyone happy?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30049963-1533295681091053577?l=eclipse-debug.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eclipse-debug.blogspot.com/feeds/1533295681091053577/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=30049963&amp;postID=1533295681091053577' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30049963/posts/default/1533295681091053577'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30049963/posts/default/1533295681091053577'/><link rel='alternate' type='text/html' href='http://eclipse-debug.blogspot.com/2010/05/add-new-expression-inline-in.html' title='&quot;Add new expression&quot; inline in Expressions View'/><author><name>Pawel Piech</name><uri>http://www.blogger.com/profile/16885370055529903756</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_zT-lAlLsQQ8/S-w321MrG9I/AAAAAAAAABI/_sIdXBr5QsQ/s72-c/Add_new_expression.png' height='72' width='72'/><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30049963.post-1857705246313086208</id><published>2009-09-16T12:13:00.007-05:00</published><updated>2009-09-16T13:12:00.625-05:00</updated><title type='text'>API Use Reports</title><content type='html'>It's no longer rocket science - mere mortals can create API Use Reports using Eclipse 3.6 M2. Report generation is integrated as an external tool. Simply open the External Tools dialog (&lt;strong&gt;Run &gt; External Tools &gt; External Tools Configurations...&lt;/strong&gt;), create a new "API Use Report" configuration, tweak settings, and press "Run". &lt;div&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_mARe74ajMlw/SrEpjfeI4lI/AAAAAAAAABI/WJ18fQeYaWE/s1600-h/api-report-settings.png"&gt;&lt;img id="BLOGGER_PHOTO_ID_5382128719404524114" style="WIDTH: 314px; CURSOR: hand; HEIGHT: 320px" alt="" src="http://1.bp.blogspot.com/_mARe74ajMlw/SrEpjfeI4lI/AAAAAAAAABI/WJ18fQeYaWE/s320/api-report-settings.png" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;You have to specify:&lt;/div&gt;&lt;ul&gt;&lt;li&gt;The &lt;strong&gt;bundles&lt;/strong&gt; to analyze (which can be provided as an API baseline, a PDE target definition, or simply as a directory)&lt;/li&gt;&lt;li&gt;Whether to report &lt;strong&gt;API&lt;/strong&gt; and/or &lt;strong&gt;internal &lt;/strong&gt;references&lt;/li&gt;&lt;li&gt;Optionally, the &lt;strong&gt;scope&lt;/strong&gt; to analyze (use regular expressions to include bundles to search and bundles you are interested in references to, or leave blank to scan everything)&lt;/li&gt;&lt;li&gt;A &lt;strong&gt;directory&lt;/strong&gt; to write the report in &lt;/li&gt;&lt;/ul&gt;&lt;p&gt;In this example, I ran a report for API &amp;amp; internal references in one of the M2 warm up builds. I only included references between &lt;code&gt;org.eclipse.*&lt;/code&gt; bundles. What does it show? Lots of stuff.&lt;/p&gt;&lt;div align="left"&gt;&lt;a href="http://2.bp.blogspot.com/_mARe74ajMlw/SrEoW1jTUMI/AAAAAAAAAA4/_PVWaQAul2k/s1600-h/report.png"&gt;&lt;img id="BLOGGER_PHOTO_ID_5382127402481832130" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; WIDTH: 320px; CURSOR: hand; HEIGHT: 270px" alt="" src="http://2.bp.blogspot.com/_mARe74ajMlw/SrEoW1jTUMI/AAAAAAAAAA4/_PVWaQAul2k/s320/report.png" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30049963-1857705246313086208?l=eclipse-debug.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eclipse-debug.blogspot.com/feeds/1857705246313086208/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=30049963&amp;postID=1857705246313086208' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30049963/posts/default/1857705246313086208'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30049963/posts/default/1857705246313086208'/><link rel='alternate' type='text/html' href='http://eclipse-debug.blogspot.com/2009/09/api-use-reports.html' title='API Use Reports'/><author><name>Darin Wright</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://3.bp.blogspot.com/_mARe74ajMlw/SjEfsRa2UII/AAAAAAAAAAM/ttQfyn6hMZ0/S220/darin_wright.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_mARe74ajMlw/SrEpjfeI4lI/AAAAAAAAABI/WJ18fQeYaWE/s72-c/api-report-settings.png' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30049963.post-7073285425257414782</id><published>2009-07-21T11:47:00.001-05:00</published><updated>2009-07-21T11:47:32.603-05:00</updated><title type='text'>3.6 PDE plan ideas</title><content type='html'>We have updated our PDE 3.6 plan ideas page here : &lt;a href="http://wiki.eclipse.org/PDE/Plan/3.6"&gt;http://wiki.eclipse.org/PDE/Plan/3.6&lt;/a&gt; so check it out...feedback is always welcome.&lt;br&gt;Sent on the TELUS Mobility network with BlackBerry&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30049963-7073285425257414782?l=eclipse-debug.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eclipse-debug.blogspot.com/feeds/7073285425257414782/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=30049963&amp;postID=7073285425257414782' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30049963/posts/default/7073285425257414782'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30049963/posts/default/7073285425257414782'/><link rel='alternate' type='text/html' href='http://eclipse-debug.blogspot.com/2009/07/36-pde-plan-ideas.html' title='3.6 PDE plan ideas'/><author><name>Mike Rennie</name><uri>http://www.blogger.com/profile/11412892738963099114</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30049963.post-8233001466450064510</id><published>2009-06-11T11:59:00.001-05:00</published><updated>2009-06-11T12:02:13.659-05:00</updated><title type='text'>Breakpoints Not Being Hit?</title><content type='html'>&lt;p&gt;Just wanted to bring attention to an issue discovered with Sun’s recently released 1.6.0_14 virtual machine. Breakpoints are unreliable - i.e. do not always suspend execution. The problem occurs on Windows and Linux platforms. The associated Eclipse bug is:&lt;/p&gt;&lt;p&gt;&lt;a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=279137"&gt;https://bugs.eclipse.org/bugs/show_bug.cgi?id=279137&lt;/a&gt;&lt;/p&gt;&lt;p&gt;At this point, it appears to be an issue with the VM rather than Eclipse. The workaround is to use the 1.6.0_13 virtual machine.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30049963-8233001466450064510?l=eclipse-debug.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eclipse-debug.blogspot.com/feeds/8233001466450064510/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=30049963&amp;postID=8233001466450064510' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30049963/posts/default/8233001466450064510'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30049963/posts/default/8233001466450064510'/><link rel='alternate' type='text/html' href='http://eclipse-debug.blogspot.com/2009/06/breakpoints-not-being-hit.html' title='Breakpoints Not Being Hit?'/><author><name>Darin Wright</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://3.bp.blogspot.com/_mARe74ajMlw/SjEfsRa2UII/AAAAAAAAAAM/ttQfyn6hMZ0/S220/darin_wright.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30049963.post-3174212869151918251</id><published>2009-05-01T09:45:00.007-05:00</published><updated>2009-05-01T10:57:22.364-05:00</updated><title type='text'>Target Platforms in 3.5</title><content type='html'>What a milestone for &lt;a href="http://www.eclipse.org/pde/pde-ui/"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;PDE&lt;/span&gt;&lt;/a&gt;.  &lt;a href="http://eclipsesource.com/blogs/author/zx/"&gt;Chris&lt;/a&gt; has been blogging away about things in M7, and I wanted to talk a little more about the target platform changes coming in M7.&lt;br /&gt;&lt;br /&gt;When I started work on &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;PDE&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;UI&lt;/span&gt;, this is all I knew about target platforms...&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_3QRPXaBvGH4/SfsPk1_KP3I/AAAAAAAAAFo/iztqQgsSuf0/s1600-h/Screenshot-PreferencesOld.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 260px;" src="http://3.bp.blogspot.com/_3QRPXaBvGH4/SfsPk1_KP3I/AAAAAAAAAFo/iztqQgsSuf0/s320/Screenshot-PreferencesOld.png" alt="" id="BLOGGER_PHOTO_ID_5330871709564813170" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Talk about button overload.  So many features, none of which I ever had touched as a debug plug-in developer.  I didn't like the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;UI&lt;/span&gt;, I was confused by the 'model' that backed it, and touching anything on that page seemed to break someone (or everyone).&lt;br /&gt;&lt;br /&gt;Fortunately, in 3.5 the &lt;a href="http://www.eclipse.org/pde/pde-ui/committers/committers.php"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;PDE&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;UI&lt;/span&gt; team:&lt;/a&gt; Chris A, Darin W, and myself along with &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;Ankur&lt;/span&gt;, Ben, Simon and other contributors, had the opportunity to make it better.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_3QRPXaBvGH4/SfsRIqIo7NI/AAAAAAAAAFw/5n2gWoVHCSQ/s1600-h/Screenshot-PreferencesNew.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 290px;" src="http://4.bp.blogspot.com/_3QRPXaBvGH4/SfsRIqIo7NI/AAAAAAAAAFw/5n2gWoVHCSQ/s320/Screenshot-PreferencesNew.png" alt="" id="BLOGGER_PHOTO_ID_5330873424370265298" border="0" /&gt;&lt;/a&gt;The fundamental change is that the preference page is no longer about crafting a target platform.  It's about choosing the target you need.  There are many new features available and there is a proper model (provisional &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;api&lt;/span&gt; as well) so interacting with targets &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;programmatically&lt;/span&gt; is much easier.&lt;br /&gt;&lt;br /&gt;This was the first time I have written a significant &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_9"&gt;UI&lt;/span&gt; component in Eclipse.  It has been quite the learning experience and I have even more respect for the platform &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_10"&gt;UI&lt;/span&gt; folks and those involved with the &lt;a href="http://live.eclipse.org/node/558"&gt;p2 &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_11"&gt;UI&lt;/span&gt;&lt;/a&gt; (which has developed into an excellent experience in 3.5).  I &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_12"&gt;received&lt;/span&gt; a lot of feedback along the way and have made every effort to develop a &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_13"&gt;UI&lt;/span&gt; that respects legacy functionality, simplifies the story while supporting power users, and adds useful eye candy without button overload.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_3QRPXaBvGH4/SfsX3nKjrfI/AAAAAAAAAGI/5Z8ach22lbw/s1600-h/Screenshot-Java+-+org.eclipse.pde.doc.user-ExampleTarget.target+-+Eclipse+SDK+.png"&gt;&lt;img style="cursor: pointer; width: 262px; height: 197px;" src="http://3.bp.blogspot.com/_3QRPXaBvGH4/SfsX3nKjrfI/AAAAAAAAAGI/5Z8ach22lbw/s200/Screenshot-Java+-+org.eclipse.pde.doc.user-ExampleTarget.target+-+Eclipse+SDK+.png" alt="" id="BLOGGER_PHOTO_ID_5330880828096622066" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_3QRPXaBvGH4/SfsXylpQSqI/AAAAAAAAAGA/xwWQC_2dRKI/s1600-h/Screenshot-Add+Content+-1.png"&gt;&lt;img style="cursor: pointer; width: 180px; height: 200px;" src="http://4.bp.blogspot.com/_3QRPXaBvGH4/SfsXylpQSqI/AAAAAAAAAGA/xwWQC_2dRKI/s200/Screenshot-Add+Content+-1.png" alt="" id="BLOGGER_PHOTO_ID_5330880741789158050" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_3QRPXaBvGH4/SfsXti1-0YI/AAAAAAAAAF4/UJ6s66g0ox0/s1600-h/Screenshot-Edit+Target+Definition+-1.png"&gt;&lt;img style="cursor: pointer; width: 173px; height: 200px;" src="http://2.bp.blogspot.com/_3QRPXaBvGH4/SfsXti1-0YI/AAAAAAAAAF4/UJ6s66g0ox0/s200/Screenshot-Edit+Target+Definition+-1.png" alt="" id="BLOGGER_PHOTO_ID_5330880655137886594" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;In the future expect even more information to come out about how to work with target platforms, talk about some new ideas we are considering, and posts about some cool features you may not notice at first glance (like &lt;a href="http://eclipsesource.com/blogs/2009/04/29/target-platform-provisioning/"&gt;p2 provisioned targets&lt;/a&gt;).  In the meantime, try out M7 and &lt;a href="https://bugs.eclipse.org/bugs/enter_bug.cgi?product=PDE"&gt;let us know what you think&lt;/a&gt;!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30049963-3174212869151918251?l=eclipse-debug.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eclipse-debug.blogspot.com/feeds/3174212869151918251/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=30049963&amp;postID=3174212869151918251' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30049963/posts/default/3174212869151918251'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30049963/posts/default/3174212869151918251'/><link rel='alternate' type='text/html' href='http://eclipse-debug.blogspot.com/2009/05/target-platforms-in-35.html' title='Target Platforms in 3.5'/><author><name>Curtis</name><uri>http://www.blogger.com/profile/07823163562402913233</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://4.bp.blogspot.com/_3QRPXaBvGH4/SScmOnPIKvI/AAAAAAAAAB0/SFc-aWl8moI/S220/curtis_windatt.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_3QRPXaBvGH4/SfsPk1_KP3I/AAAAAAAAAFo/iztqQgsSuf0/s72-c/Screenshot-PreferencesOld.png' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30049963.post-6469414592000204440</id><published>2009-04-01T21:27:00.010-05:00</published><updated>2009-04-01T22:10:10.602-05:00</updated><title type='text'>API Tooling From The Commandline</title><content type='html'>API tools has a very nice set of tools for analyzing API, creating .api_description files and scanning for API / internal use to mention but a few tasks. Using these tools currently requires you to make the apitooling-ant jar file available in an Eclipse environment or have them as part of a build process.&lt;br /&gt;&lt;br /&gt;We though it would be nice to be able to run the tools from the command line as well. With that in mind we have provided a generalized Ant build file that can be used to do just that. The build file in question is available from CVS in the org.eclipse.pde.api.tools project in the scripts folder. Also available in the scripts folder is a properties which is needed to map the task names to the task classes that provide them.&lt;br /&gt;&lt;br /&gt;The build file is fairly simple and has a plethora of comments to help you out. It performs 3 main tasks:&lt;br /&gt;1. it builds the Ant classpath based on an Eclipse install&lt;br /&gt;2. it extracts the apitooling-ant.jar from the API tools project jar&lt;br /&gt;3. it runs whichever task you specifiy in the 'run' target&lt;br /&gt;&lt;br /&gt;Here is a sample use of the build file for running the API use scans from the command line:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&amp;lt;project name="apiusetask" basedir="." default="run"&amp;gt;&lt;br /&gt;    &amp;lt;property name="scope" value="/eclipse/eclipse_3.4.2/"&amp;gt;&lt;br /&gt;    &amp;lt;property name="baseline" value="/eclipse/eclipse.tar.gz"&amp;gt;&lt;br /&gt;    &amp;lt;property name="xml.report.loc" value="/eclipse/apiuse-commandline/xml"&amp;gt;&lt;br /&gt;    &amp;lt;property name="html.report.loc" value="/eclipse/apiuse-commandline/html"&amp;gt;&lt;br /&gt;    &amp;lt;property name="exclude.list.loc" value="/eclipse/exclude.txt"&amp;gt;&lt;br /&gt;    &amp;lt;property name="eclipse.install.dir" value="/eclipse/eclipse/plugins"&amp;gt;&lt;br /&gt;    &amp;lt;property name="eclipse.lib.dir" value="/eclipse/lib"&amp;gt;&lt;br /&gt;    &amp;lt;property name="apiuse.task.props" value="/eclipse/lib/apiuse_tasks.properties"&amp;gt;&lt;br /&gt;   &lt;br /&gt;    &amp;lt;target name="init" depends="extract-apitoolingjar"&amp;gt;&lt;br /&gt;        &amp;lt;taskdef file="${apiuse.task.props}"&amp;gt;&lt;br /&gt;            &amp;lt;classpath&amp;gt;&lt;br /&gt;                &amp;lt;fileset dir="${eclipse.install.dir}"&amp;gt;&lt;br /&gt;                    &amp;lt;include name="*.jar"&amp;gt;&lt;br /&gt;                &amp;lt;/fileset&amp;gt;&lt;br /&gt;                &amp;lt;fileset dir="${eclipse.lib.dir}"&amp;gt;&lt;br /&gt;                    &amp;lt;include name="*.jar"&amp;gt;&lt;br /&gt;                &amp;lt;/fileset&amp;gt;&lt;br /&gt;            &amp;lt;/classpath&amp;gt;&lt;br /&gt;        &amp;lt;/taskdef&amp;gt;&lt;br /&gt;    &amp;lt;/target&amp;gt;&lt;br /&gt;    &amp;lt;target name="extract-apitoolingjar"&amp;gt;&lt;br /&gt;        &amp;lt;unjar overwrite="true" dest="${eclipse.lib.dir}"&amp;gt;&lt;br /&gt;            &amp;lt;fileset dir="${eclipse.install.dir}"&amp;gt;&lt;br /&gt;                &amp;lt;include name="org.eclipse.pde.api.tools_*.jar"&amp;gt;&lt;br /&gt;            &amp;lt;/fileset&amp;gt;&lt;br /&gt;            &amp;lt;patternset&amp;gt;&lt;br /&gt;                &amp;lt;include name="**/*.jar"&amp;gt;&lt;br /&gt;            &amp;lt;/patternset&amp;gt;&lt;br /&gt;        &amp;lt;/unjar&amp;gt;&lt;br /&gt;        &amp;lt;move file="${eclipse.lib.dir}/lib/apitooling-ant.jar"&lt;br /&gt;                     overwrite="true"     &lt;br /&gt;                     todir="${eclipse.lib.dir}"/&amp;gt;&lt;br /&gt;        &amp;lt;delete dir="${eclipse.lib.dir}/lib/" includeemptydirs="true"&amp;gt;&lt;br /&gt;    &amp;lt;/target&amp;gt;&lt;br /&gt;    &amp;lt;target name="run" depends="init"&amp;gt;&lt;br /&gt;        &amp;lt;apiuse&lt;br /&gt;            baseline="${baseline}"&lt;br /&gt;            scope="${scope}"&lt;br /&gt;            report="${xml.report.loc}"&lt;br /&gt;            excludelist="${exclude.list.loc}"&lt;br /&gt;            considerinternal="true"&lt;br /&gt;            considerapi="true"&lt;br /&gt;            includenonapiprojects="true"&lt;br /&gt;            debug="true"&lt;br /&gt;        /&amp;gt;&lt;br /&gt;        &amp;lt;apiuse_reportconversion&lt;br /&gt;            xmlfiles="${xml.report.loc}"&lt;br /&gt;            htmlfiles="${html.report.loc}"&lt;br /&gt;            debug="true"&lt;br /&gt;        /&amp;gt;&lt;br /&gt;    &amp;lt;/target&amp;gt;&lt;br /&gt;&amp;lt;/project&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;To actually run the given build file you must have Ant available on the command line (obviously) and then run the following:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;  root%&gt;ant -buildfile &amp;lt;build file name&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30049963-6469414592000204440?l=eclipse-debug.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eclipse-debug.blogspot.com/feeds/6469414592000204440/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=30049963&amp;postID=6469414592000204440' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30049963/posts/default/6469414592000204440'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30049963/posts/default/6469414592000204440'/><link rel='alternate' type='text/html' href='http://eclipse-debug.blogspot.com/2009/04/api-tooling-from-commandline.html' title='API Tooling From The Commandline'/><author><name>Mike Rennie</name><uri>http://www.blogger.com/profile/11412892738963099114</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30049963.post-363966556989128405</id><published>2009-03-09T09:48:00.003-05:00</published><updated>2009-03-09T09:59:16.770-05:00</updated><title type='text'>API Use Scanning Now Has A Face</title><content type='html'>With the API use scanning tooling out the door in Ant task form, I thought it was time to put a face on the feature. I know, I know, why would you need UI for the tools when they are already in Ant task form? Because not everyone is 100% Ant-savvy (myself included) and most users like the tactile feedback of clicking a mouse.&lt;br /&gt;&lt;br /&gt;The UI for the scanning feature is not in the official build yet, but fret not, we have provided it on our &lt;a href="http://www.eclipse.org/pde/pde-api-tools/internal_updates/"&gt;update site&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;To access the UI simply open the search dialog. There are plans in the works to expand the capabilities of the UI to not only scan baselines but to handle API elements in general, for now though you can only scan baselines. Happy scanning.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_DJRXz3dLaww/SbUt0ZBkbiI/AAAAAAAAAD8/ATAcnAV__M0/s1600-h/use_scan_ui.PNG"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 283px; height: 320px;" src="http://1.bp.blogspot.com/_DJRXz3dLaww/SbUt0ZBkbiI/AAAAAAAAAD8/ATAcnAV__M0/s320/use_scan_ui.PNG" border="0" alt="proposed API use scanning UI"id="BLOGGER_PHOTO_ID_5311201713647283746" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30049963-363966556989128405?l=eclipse-debug.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eclipse-debug.blogspot.com/feeds/363966556989128405/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=30049963&amp;postID=363966556989128405' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30049963/posts/default/363966556989128405'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30049963/posts/default/363966556989128405'/><link rel='alternate' type='text/html' href='http://eclipse-debug.blogspot.com/2009/03/api-use-scanning-now-has-face.html' title='API Use Scanning Now Has A Face'/><author><name>Mike</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_DJRXz3dLaww/SbUt0ZBkbiI/AAAAAAAAAD8/ATAcnAV__M0/s72-c/use_scan_ui.PNG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30049963.post-7139989636310614566</id><published>2009-02-19T13:45:00.004-06:00</published><updated>2009-02-19T15:41:06.916-06:00</updated><title type='text'>Eclipse Bespin on Slashdot</title><content type='html'>So it appears that the &lt;a href="http://borisoneclipse.blogspot.com/2009/02/eclipse-in-cloud.html"&gt;Eclipse-based Bespin server&lt;/a&gt; created by Boris Bokowski and Simon Kaegi has made it to &lt;a href="http://tech.slashdot.org/article.pl?sid=09/02/19/1440234"&gt;Slashdot&lt;/a&gt;.  The comments there reflect my feelings on the whole 'IDEs in the Cloud' concept.  It's definitely&lt;a href="http://arstechnica.com/open-source/news/2009/02/ide-in-the-cloud-mozilla-labs-browser-based-ide-prototype.ars"&gt; new and interesting&lt;/a&gt;, but how will it be useful to me?&lt;br /&gt;&lt;br /&gt;Looking forward to see how this &lt;a href="http://wiki.eclipse.org/E4/Web-based_IDE"&gt;develops in e4&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30049963-7139989636310614566?l=eclipse-debug.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eclipse-debug.blogspot.com/feeds/7139989636310614566/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=30049963&amp;postID=7139989636310614566' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30049963/posts/default/7139989636310614566'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30049963/posts/default/7139989636310614566'/><link rel='alternate' type='text/html' href='http://eclipse-debug.blogspot.com/2009/02/so-it-appears-that-eclipse-based-bespin.html' title='Eclipse Bespin on Slashdot'/><author><name>Curtis</name><uri>http://www.blogger.com/profile/07823163562402913233</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://4.bp.blogspot.com/_3QRPXaBvGH4/SScmOnPIKvI/AAAAAAAAAB0/SFc-aWl8moI/S220/curtis_windatt.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30049963.post-3997596921133514656</id><published>2009-02-03T14:16:00.003-06:00</published><updated>2009-02-03T15:11:17.480-06:00</updated><title type='text'>Debugger Breadcrumb</title><content type='html'>In 3.5M5 Eclipse Platform introduces a &lt;a href="http://download.eclipse.org/eclipse/downloads/drops/S-3.5M5-200902021535/eclipse-news-M5.html#debug-view-breadcrumb"&gt;Breadcrum&lt;/a&gt;&lt;a href="http://download.eclipse.org/eclipse/downloads/drops/S-3.5M5-200902021535/eclipse-news-M5.html#debug-view-breadcrumb"&gt;b feature in the Debug view&lt;/a&gt;.  Since it's a platform feature it is automatically available with JDT, CDT, or any commercial debugger built on the Eclipse framework.  To see the breadcrumb, simply resize the Debug view to make it really short (about one line of text), and the view will automatically switch.&lt;br /&gt;&lt;br /&gt;We hope that this feature will make it easier for users to stay in their regular development perspective for majority of their debugging tasks.  For example here's a screen shot of the C/C++ perspective with the Debug view breadcrumb above the editor.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_zT-lAlLsQQ8/SYiuQ9duPgI/AAAAAAAAAAQ/r5BEonUGKGc/s1600-h/Screenshot-CDT_w_Breadcrumb.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 256px;" src="http://4.bp.blogspot.com/_zT-lAlLsQQ8/SYiuQ9duPgI/AAAAAAAAAAQ/r5BEonUGKGc/s320/Screenshot-CDT_w_Breadcrumb.png" alt="" id="BLOGGER_PHOTO_ID_5298676568001756674" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;If you'd like to try debugging outside of the Debug perspective, there are two things you need to do:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Disable the automatic switching of perspective when debugging happens.  Go to &lt;span style="font-weight: bold;"&gt;Window-&gt;Preferences-&gt;Run/Debug-&gt;Perspectives&lt;/span&gt; and select &lt;span style="font-weight: bold;"&gt;Never&lt;/span&gt; for both of the options that start with &lt;span style="font-weight: bold;"&gt;Open associated perspective...&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Enable view management in your development perspective.&lt;span style="font-weight: bold;"&gt;&lt;span style="font-weight: bold;"&gt; &lt;/span&gt;&lt;/span&gt;Go to &lt;span style="font-weight: bold;"&gt;Window-&gt;Preferences-&gt;Run/Debug-&gt;View Management&lt;/span&gt; and select the check-box for your perspective.  This will cause Variables, Breakpoints, and other debugger views to automatically appear and disappear when you need them.&lt;/li&gt;&lt;/ol&gt;Keep in mind that this is a brand new feature and really a whole new work-flow.  We already have a growing &lt;a href="https://bugs.eclipse.org/bugs/buglist.cgi?bug_file_loc=&amp;amp;bug_file_loc_type=allwordssubstr&amp;amp;bug_id=&amp;amp;bugidtype=include&amp;amp;chfieldfrom=&amp;amp;chfieldto=Now&amp;amp;chfieldvalue=&amp;amp;classification=Eclipse&amp;amp;component=Debug&amp;amp;email1=&amp;amp;email2=&amp;amp;emailtype1=substring&amp;amp;emailtype2=substring&amp;amp;field-1-0-0=classification&amp;amp;field-1-1-0=product&amp;amp;field-1-2-0=component&amp;amp;field-1-3-0=short_desc&amp;amp;field0-0-0=noop&amp;amp;keywords=&amp;amp;keywords_type=allwords&amp;amp;long_desc=&amp;amp;long_desc_type=allwordssubstr&amp;amp;product=Platform&amp;amp;query_format=advanced&amp;amp;remaction=&amp;amp;short_desc=%5Bbreadcrumb%5D&amp;amp;short_desc_type=allwordssubstr&amp;amp;status_whiteboard=&amp;amp;status_whiteboard_type=allwordssubstr&amp;amp;type-1-0-0=anyexact&amp;amp;type-1-1-0=anyexact&amp;amp;type-1-2-0=anyexact&amp;amp;type-1-3-0=allwordssubstr&amp;amp;type0-0-0=noop&amp;amp;value-1-0-0=Eclipse&amp;amp;value-1-1-0=Platform&amp;amp;value-1-2-0=Debug&amp;amp;value-1-3-0=%5Bbreadcrumb%5Dorder=bugs.bug_id"&gt;list of issues&lt;/a&gt; to fix, but if you find something new or have ideas for improvements, let us know.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30049963-3997596921133514656?l=eclipse-debug.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eclipse-debug.blogspot.com/feeds/3997596921133514656/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=30049963&amp;postID=3997596921133514656' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30049963/posts/default/3997596921133514656'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30049963/posts/default/3997596921133514656'/><link rel='alternate' type='text/html' href='http://eclipse-debug.blogspot.com/2009/02/debugger-breadcrumb.html' title='Debugger Breadcrumb'/><author><name>Pawel Piech</name><uri>http://www.blogger.com/profile/16885370055529903756</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_zT-lAlLsQQ8/SYiuQ9duPgI/AAAAAAAAAAQ/r5BEonUGKGc/s72-c/Screenshot-CDT_w_Breadcrumb.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30049963.post-1625652436390917722</id><published>2008-12-18T11:12:00.002-06:00</published><updated>2008-12-18T11:36:57.955-06:00</updated><title type='text'>Debug Unit Tests</title><content type='html'>There was a recent &lt;a href="http://intellectualcramps.blogspot.com/2008/12/unit-tests-for-debug-framework.html"&gt;blog post&lt;/a&gt; asking whether the debug framework had any unit tests and if so, where we were hiding them.  Yes we do have a test suite to help protect against regressions and we hide it in the &lt;a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.jdt.debug.tests/"&gt;org.eclipse.jdt.debug.tests&lt;/a&gt; plug-in.&lt;br /&gt;&lt;br /&gt;The majority of the tests require some implementation of the debug framework to run.  We are responsible for the JDT Debugger, which is part of the SDK and implements the majority of the standard debug model.  So the tests were designed to use JDT.&lt;br /&gt;&lt;br /&gt;Until Dave brought the idea up, I had never thought of anyone using unit tests to help implement their own debugger.  The current tests certainly are not set up for this style of development.  I think it would be really cool to have a generic testing harness that checks the behaviour of the framework.  Users could have the test harness run against their implementations of the debug interfaces/extensions.  Perhaps &lt;a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=259145"&gt;Bug 259145&lt;/a&gt; could evolve into something like that.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30049963-1625652436390917722?l=eclipse-debug.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eclipse-debug.blogspot.com/feeds/1625652436390917722/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=30049963&amp;postID=1625652436390917722' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30049963/posts/default/1625652436390917722'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30049963/posts/default/1625652436390917722'/><link rel='alternate' type='text/html' href='http://eclipse-debug.blogspot.com/2008/12/debug-unit-tests.html' title='Debug Unit Tests'/><author><name>Curtis</name><uri>http://www.blogger.com/profile/07823163562402913233</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://4.bp.blogspot.com/_3QRPXaBvGH4/SScmOnPIKvI/AAAAAAAAAB0/SFc-aWl8moI/S220/curtis_windatt.png'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30049963.post-2648899733533029265</id><published>2008-12-04T15:12:00.011-06:00</published><updated>2008-12-04T16:27:30.321-06:00</updated><title type='text'>Delivering Feature Patches - Part II</title><content type='html'>This post will go over the basics of creating a Feature Patch, the most robust option when wanting to deliver some code changes, as discussed in my &lt;a href="http://eclipse-debug.blogspot.com/2008/12/delivering-feature-patches.html"&gt;previous post&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;First we must grab the bundles we are changing and edit the code.  For this example I grabbed the org.eclipse.debug.ui bundle from CVS and applied the latest patch for the new &lt;a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=252677"&gt;Debug Breadcrumbs&lt;/a&gt; feature Pawel is working on.&lt;br /&gt;&lt;br /&gt;You must also set up your &lt;a href="http://help.eclipse.org/stable/index.jsp?topic=/org.eclipse.pde.doc.user/guide/tools/preference_pages/target_platform.htm"&gt;target platform&lt;/a&gt; (Window &gt; Preferences &gt; PDE &gt; Target Platform) to be what your intended client is using.  Your target platform will determine what feature version you are going to patch.  Therefore, to create a patch against 3.4.1, make sure to set your target platform to a 3.4.1 install.  In this example I am using my default target platform (the latest I build).&lt;br /&gt;&lt;br /&gt;Note that at this point, we could use PDE to launch a runtime workbench and test out the changes immediately.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_3QRPXaBvGH4/SThMk33j6sI/AAAAAAAAADQ/oAj7QDCZOew/s1600-h/patchworkspace.PNG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 226px;" src="http://1.bp.blogspot.com/_3QRPXaBvGH4/SThMk33j6sI/AAAAAAAAADQ/oAj7QDCZOew/s320/patchworkspace.PNG" alt="" id="BLOGGER_PHOTO_ID_5276051159820528322" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Now to create the feature patch, use File &gt; New &gt; PDE &gt; Feature Patch.  This brings up a wizard with multiple dialogs to fill in.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_3QRPXaBvGH4/SThPFlvPk-I/AAAAAAAAADY/9ublQfuJyvc/s1600-h/newfeaturepatch.PNG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 294px; height: 320px;" src="http://4.bp.blogspot.com/_3QRPXaBvGH4/SThPFlvPk-I/AAAAAAAAADY/9ublQfuJyvc/s320/newfeaturepatch.PNG" alt="" id="BLOGGER_PHOTO_ID_5276053920912741346" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;You will have to choose a project name which is the name of the project that will be created in your workspace.  Then you must choose a patch ID and name, which will be what your user sees when they try and install the patch.  Finally, you must choose the feature which you are patching.  Hitting the browse button will allow you to select one of the features from your target platform, and the name and version will be filled in for you.&lt;br /&gt;&lt;br /&gt;Hitting finish will bring up the feaure patch editor where you can edit many more things.  For the simple case, we are going to move directly to the Plug-ins tab of the editor.  Here, we will specify what new bundles the feature will have.  Hit the Add... button and select your workspace bundle.  You don't have to specify a version for the bundle because by default we will set the proper versions when we export.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_3QRPXaBvGH4/SThRKNSorII/AAAAAAAAADg/WS1wKJ43bTQ/s1600-h/featurepatcheditor.PNG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 212px;" src="http://3.bp.blogspot.com/_3QRPXaBvGH4/SThRKNSorII/AAAAAAAAADg/WS1wKJ43bTQ/s320/featurepatcheditor.PNG" alt="" id="BLOGGER_PHOTO_ID_5276056199272901762" border="0" /&gt;&lt;/a&gt;The next step is to export the patch.  PDE provides a convenient button in the top right section of the editor which will open the export dialog.  Choose a directory where you want to export (you can move this folder to a website later to make it available remotely).  You can also export to a jar file.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_3QRPXaBvGH4/SThTMHItyQI/AAAAAAAAADo/7njn3zHe9ps/s1600-h/exportdialog.PNG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 237px; height: 320px;" src="http://4.bp.blogspot.com/_3QRPXaBvGH4/SThTMHItyQI/AAAAAAAAADo/7njn3zHe9ps/s320/exportdialog.PNG" alt="" id="BLOGGER_PHOTO_ID_5276058431003674882" border="0" /&gt;&lt;/a&gt;On this wizard it is also very important to go to the options tab and turn on the "package as individual jar archives" and "generate metadata" options.  These options are required for p2 to be able to understand and install the patch.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_3QRPXaBvGH4/SThUWwsmgvI/AAAAAAAAAD4/6H1ixJ-si6A/s1600-h/optionstab.PNG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 148px;" src="http://4.bp.blogspot.com/_3QRPXaBvGH4/SThUWwsmgvI/AAAAAAAAAD4/6H1ixJ-si6A/s320/optionstab.PNG" alt="" id="BLOGGER_PHOTO_ID_5276059713470366450" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Hit the finish button, wait for the operation to complete and we're done!&lt;br /&gt;&lt;br /&gt;To install the patch, we go to Help &gt; Install New Software...  Hit the Add Site button and select the directory we exported to (or the remote location, or the jar file).  The dialog should now show our patch, check it and hit next to begin the install.  You will have to step through a few pages to accept the license agreement.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_3QRPXaBvGH4/SThWzx66VBI/AAAAAAAAAEA/HZsXB61Lm3E/s1600-h/installdialog.PNG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 255px;" src="http://4.bp.blogspot.com/_3QRPXaBvGH4/SThWzx66VBI/AAAAAAAAAEA/HZsXB61Lm3E/s320/installdialog.PNG" alt="" id="BLOGGER_PHOTO_ID_5276062411038282770" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;After the install completes, we are prompted to restart eclipse (highly recommended).  When Eclipse returns, we have a brand new feature to play around with.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_3QRPXaBvGH4/SThZBSv6YUI/AAAAAAAAAEI/_6_ppgOyY0A/s1600-h/breadcrumbs.PNG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 184px;" src="http://2.bp.blogspot.com/_3QRPXaBvGH4/SThZBSv6YUI/AAAAAAAAAEI/_6_ppgOyY0A/s320/breadcrumbs.PNG" alt="" id="BLOGGER_PHOTO_ID_5276064842212073794" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;So there you go, the basics of creating a feature patch!&lt;br /&gt;&lt;br /&gt;Optional:  Instead of exporting the patch directly, you can also use an update site project with a site.xml to deliver the patch.  Simply open an existing site.xml or create a new site project (File &gt; New... &gt; PDE &gt; Update Site Project), hit the add button, select your feature patch project, and build the site.  Using a update site project will generate an html page as well as allow the pre-p2 update manager to access the site.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30049963-2648899733533029265?l=eclipse-debug.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eclipse-debug.blogspot.com/feeds/2648899733533029265/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=30049963&amp;postID=2648899733533029265' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30049963/posts/default/2648899733533029265'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30049963/posts/default/2648899733533029265'/><link rel='alternate' type='text/html' href='http://eclipse-debug.blogspot.com/2008/12/delivering-feature-patches-part-ii.html' title='Delivering Feature Patches - Part II'/><author><name>Curtis</name><uri>http://www.blogger.com/profile/07823163562402913233</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://4.bp.blogspot.com/_3QRPXaBvGH4/SScmOnPIKvI/AAAAAAAAAB0/SFc-aWl8moI/S220/curtis_windatt.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_3QRPXaBvGH4/SThMk33j6sI/AAAAAAAAADQ/oAj7QDCZOew/s72-c/patchworkspace.PNG' height='72' width='72'/><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30049963.post-8393707423241837421</id><published>2008-12-04T10:50:00.005-06:00</published><updated>2008-12-04T11:33:41.187-06:00</updated><title type='text'>Delivering Feature Patches</title><content type='html'>One of the debug committers, Pawel Piech, has been working on creating a &lt;a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=252677"&gt;debug context breadcrumb&lt;/a&gt;.  A cool feature that we are all looking forward too.  The current patch applies nicely to the debug ui project, but there is a need to try out the feature in your main Eclipse environment.  Self-hosting isn't practical for everyone.  There are a couple of ways of doing this in 3.5:&lt;br /&gt;&lt;br /&gt;1) Hack them in :) Export the bundles, put them in your install directory, rename them to have the same name and version as the previously installed bundles and start with -clean.  This will trick p2 into loading the new code and treating it the same as the previous bundles.  This is not a great choice as you are working behind p2's back so if there are any problems, you are on your own.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_3QRPXaBvGH4/STgTu35ZeOI/AAAAAAAAAC4/ZGDwtOrFjFE/s1600-h/hackplugins.PNG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 146px;" src="http://3.bp.blogspot.com/_3QRPXaBvGH4/STgTu35ZeOI/AAAAAAAAAC4/ZGDwtOrFjFE/s320/hackplugins.PNG" alt="" id="BLOGGER_PHOTO_ID_5275988659464141026" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;2) Use the new PDE&lt;a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=222945"&gt; one step export and install feature&lt;/a&gt;.  Simply go to File &gt; Export... &gt; PDE &gt; Deployable Plug-ins and Fragments.  Then in the wizard, choose the last radio button "Install into running application".  This will build your workspace bundles and use p2 to install them into your host application.  Assuming all goes well, you'll have your code up and running and you can uninstall the changes using p2's UI (Help &gt; Installation Information).&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_3QRPXaBvGH4/STgT3nTgS4I/AAAAAAAAADA/zwso9YCSfkg/s1600-h/exportinstall.PNG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 320px;" src="http://1.bp.blogspot.com/_3QRPXaBvGH4/STgT3nTgS4I/AAAAAAAAADA/zwso9YCSfkg/s320/exportinstall.PNG" alt="" id="BLOGGER_PHOTO_ID_5275988809629059970" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;3) Create a feature patch.  While option 2 is the fastest for developers, feature patches allow you to provide the changes via an update site.  Users will be able to install without ever checking out any code from CVS.  My next blog post will explain the basics of creating a feature patch.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_3QRPXaBvGH4/STgUDFARJFI/AAAAAAAAADI/PaYI-YedvEs/s1600-h/newfeaturepatch.PNG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 295px; height: 320px;" src="http://4.bp.blogspot.com/_3QRPXaBvGH4/STgUDFARJFI/AAAAAAAAADI/PaYI-YedvEs/s320/newfeaturepatch.PNG" alt="" id="BLOGGER_PHOTO_ID_5275989006579999826" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30049963-8393707423241837421?l=eclipse-debug.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eclipse-debug.blogspot.com/feeds/8393707423241837421/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=30049963&amp;postID=8393707423241837421' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30049963/posts/default/8393707423241837421'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30049963/posts/default/8393707423241837421'/><link rel='alternate' type='text/html' href='http://eclipse-debug.blogspot.com/2008/12/delivering-feature-patches.html' title='Delivering Feature Patches'/><author><name>Curtis</name><uri>http://www.blogger.com/profile/07823163562402913233</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://4.bp.blogspot.com/_3QRPXaBvGH4/SScmOnPIKvI/AAAAAAAAAB0/SFc-aWl8moI/S220/curtis_windatt.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_3QRPXaBvGH4/STgTu35ZeOI/AAAAAAAAAC4/ZGDwtOrFjFE/s72-c/hackplugins.PNG' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30049963.post-3969388455827194908</id><published>2008-09-24T11:18:00.002-05:00</published><updated>2008-09-24T11:25:17.050-05:00</updated><title type='text'>The Debug Team Family Grows</title><content type='html'>As of 5:05 this morning, the Debug Team's family grew by one.&lt;br /&gt;&lt;br /&gt;Congratulations Mike and Jen on your new baby boy!&lt;br /&gt;&lt;br /&gt;Sean Robert Rennie&lt;br /&gt;8.5 pounds, 21 inches&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30049963-3969388455827194908?l=eclipse-debug.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eclipse-debug.blogspot.com/feeds/3969388455827194908/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=30049963&amp;postID=3969388455827194908' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30049963/posts/default/3969388455827194908'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30049963/posts/default/3969388455827194908'/><link rel='alternate' type='text/html' href='http://eclipse-debug.blogspot.com/2008/09/debug-team-family-grows.html' title='The Debug Team Family Grows'/><author><name>Curtis</name><uri>http://www.blogger.com/profile/07823163562402913233</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://4.bp.blogspot.com/_3QRPXaBvGH4/SScmOnPIKvI/AAAAAAAAAB0/SFc-aWl8moI/S220/curtis_windatt.png'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30049963.post-1874909923937012099</id><published>2008-07-10T12:21:00.004-05:00</published><updated>2008-07-10T14:44:38.619-05:00</updated><title type='text'>Remember, hyperlink debugging rocks</title><content type='html'>While the feature has been around since 3.3, I still consider hyperlink debugging one of the most awesome features of the JDT debugger.&lt;br /&gt;&lt;br /&gt;Hyperlink debugging lets you very quickly step into a selected method.  Previously, to step into a method you would have to use step over to the line you wanted then step into, or click on the method you wanted and hit step into selection.  With hyperlink debugging you simply hit&lt;span style="font-style: italic;"&gt; ctrl&lt;/span&gt; (or &lt;span style="font-style: italic;"&gt;ctrl-alt&lt;/span&gt;, I'll explain in a moment), and click where you want to go.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_3QRPXaBvGH4/SHZmTTSPcsI/AAAAAAAAABY/av6sNXr_vsg/s1600-h/hyperlinkdebug.PNG"&gt;&lt;img style="cursor: pointer;" src="http://bp0.blogger.com/_3QRPXaBvGH4/SHZmTTSPcsI/AAAAAAAAABY/av6sNXr_vsg/s320/hyperlinkdebug.PNG" alt="" id="BLOGGER_PHOTO_ID_5221473299763000002" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Starting with next week's integration build, the hyperlink debug feature will use&lt;span style="font-style: italic;"&gt; ctrl&lt;/span&gt; as it's activator (previous versions used &lt;span style="font-style: italic;"&gt;ctrl-alt&lt;/span&gt;).  This change was made because we were the only hyperlink action to have an activator other than &lt;span style="font-style: italic;"&gt;ctrl&lt;/span&gt;.  If there are multiple hyperlink actions available, a handy popup will let you choose which to use.&lt;br /&gt;&lt;br /&gt;For those who want to keep the old way of doing things, you can change the setting back to ctrl-alt on the General &gt; Appearence &gt; Editors &gt; Text Editors &gt;Hyperlinking Preference Page.  Because I am often debugging a target platform, I often need quick access to both open type and step into selection hyperlinks, so I have switched my preference.  If you think that ctrl-alt should be the default, leave a comment here.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30049963-1874909923937012099?l=eclipse-debug.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eclipse-debug.blogspot.com/feeds/1874909923937012099/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=30049963&amp;postID=1874909923937012099' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30049963/posts/default/1874909923937012099'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30049963/posts/default/1874909923937012099'/><link rel='alternate' type='text/html' href='http://eclipse-debug.blogspot.com/2008/07/remember-hyperlink-debugging-rocks.html' title='Remember, hyperlink debugging rocks'/><author><name>Curtis</name><uri>http://www.blogger.com/profile/07823163562402913233</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://4.bp.blogspot.com/_3QRPXaBvGH4/SScmOnPIKvI/AAAAAAAAAB0/SFc-aWl8moI/S220/curtis_windatt.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp0.blogger.com/_3QRPXaBvGH4/SHZmTTSPcsI/AAAAAAAAABY/av6sNXr_vsg/s72-c/hyperlinkdebug.PNG' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30049963.post-8841301148637450902</id><published>2008-04-16T15:20:00.003-05:00</published><updated>2008-04-16T15:25:03.302-05:00</updated><title type='text'>Funny Error Dialogs</title><content type='html'>I was working today when this gem showed up:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://bp2.blogger.com/_DJRXz3dLaww/SAZfw6WrK8I/AAAAAAAAACM/H1tTrn4IRw4/s1600-h/update.PNG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://bp2.blogger.com/_DJRXz3dLaww/SAZfw6WrK8I/AAAAAAAAACM/H1tTrn4IRw4/s320/update.PNG" border="0" alt=""id="BLOGGER_PHOTO_ID_5189940914493795266" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;While wondering how much money the person that created this dialog got for using the word 'update' so many times, I clicked 'ok' and got this gem:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://bp3.blogger.com/_DJRXz3dLaww/SAZgFKWrK9I/AAAAAAAAACU/nDDxBUIiD50/s1600-h/update2.PNG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://bp3.blogger.com/_DJRXz3dLaww/SAZgFKWrK9I/AAAAAAAAACU/nDDxBUIiD50/s320/update2.PNG" border="0" alt=""id="BLOGGER_PHOTO_ID_5189941262386146258" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Its always funny to see posts about weird / bad dialogs (and messages) so I thought I would share these...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30049963-8841301148637450902?l=eclipse-debug.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eclipse-debug.blogspot.com/feeds/8841301148637450902/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=30049963&amp;postID=8841301148637450902' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30049963/posts/default/8841301148637450902'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30049963/posts/default/8841301148637450902'/><link rel='alternate' type='text/html' href='http://eclipse-debug.blogspot.com/2008/04/funny-error-dialogs.html' title='Funny Error Dialogs'/><author><name>Mike</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp2.blogger.com/_DJRXz3dLaww/SAZfw6WrK8I/AAAAAAAAACM/H1tTrn4IRw4/s72-c/update.PNG' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30049963.post-9214656363016925042</id><published>2008-03-17T18:05:00.005-05:00</published><updated>2008-03-17T18:41:38.638-05:00</updated><title type='text'>Another Succesful Tutorial</title><content type='html'>I've only been in Santa Clara for 24 hours or so, but I've already done so much and had a ton of fun.&lt;br /&gt;&lt;br /&gt;First off, I had some time to bask in the sun.  Compare...&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_3QRPXaBvGH4/R976oy9oH9I/AAAAAAAAAAg/QLc5QzjjCKA/s1600-h/Legislature+001.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://bp3.blogger.com/_3QRPXaBvGH4/R976oy9oH9I/AAAAAAAAAAg/QLc5QzjjCKA/s200/Legislature+001.jpg" alt="" id="BLOGGER_PHOTO_ID_5178852200304615378" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The view from my balcony at home (at least there isn't much snow, unlike Ottawa)&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_3QRPXaBvGH4/R977qS9oH-I/AAAAAAAAAAo/HFAc1jlJ2M8/s1600-h/IMG_4539.JPG"&gt;&lt;img style="cursor: pointer;" src="http://bp1.blogger.com/_3QRPXaBvGH4/R977qS9oH-I/AAAAAAAAAAo/HFAc1jlJ2M8/s200/IMG_4539.JPG" alt="" id="BLOGGER_PHOTO_ID_5178853325586046946" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;The view from my hotel room in Santa Clara (oooh palm trees)&lt;br /&gt;&lt;br /&gt;Second, I've met a ton of people who I interact with all the time on bug reports, but had never seen in person.  Hopefully I left a good impression.  Had a lot of fun at the blogger party as well.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_3QRPXaBvGH4/R9798C9oH_I/AAAAAAAAAAw/Isb0Mmfui2k/s1600-h/IMG_4546.JPG"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://bp0.blogger.com/_3QRPXaBvGH4/R9798C9oH_I/AAAAAAAAAAw/Isb0Mmfui2k/s320/IMG_4546.JPG" alt="" id="BLOGGER_PHOTO_ID_5178855829551980530" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Finally, I helped present the two &lt;a href="http://www.eclipsecon.org/2008/?page=sub/&amp;amp;id=40"&gt;debug &lt;/a&gt;&lt;a href="http://www.eclipsecon.org/2008/?page=sub/&amp;amp;id=41"&gt;tutorials &lt;/a&gt;this morning and everything went perfectly.  We covered a lot of material, and got some excellent questions.  If you are building a debugger using our framework, make sure to let us know about it!  We had several people come up and tell us how much they liked our presentation and how great their products are developing because of the debug framework, but it would be great to see them in action.&lt;br /&gt;&lt;br /&gt;Tomorrow brings many more possibilities, with many &lt;a href="http://www.eclipsecon.org/2008/index.php?page=table/&amp;amp;date=2008-03-18"&gt;talks&lt;/a&gt;, exciting &lt;a href="http://www.eclipsecon.org/2008/?page=sub/&amp;amp;id=555"&gt;BoFs&lt;/a&gt;, and some &lt;a href="http://runnerwhocodes.blogspot.com/2008/03/eclipsecon-exercise-day-1ouch-it-was.html"&gt;exercise&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Curtis&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30049963-9214656363016925042?l=eclipse-debug.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eclipse-debug.blogspot.com/feeds/9214656363016925042/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=30049963&amp;postID=9214656363016925042' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30049963/posts/default/9214656363016925042'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30049963/posts/default/9214656363016925042'/><link rel='alternate' type='text/html' href='http://eclipse-debug.blogspot.com/2008/03/another-succesful-tutorial.html' title='Another Succesful Tutorial'/><author><name>Curtis</name><uri>http://www.blogger.com/profile/07823163562402913233</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://4.bp.blogspot.com/_3QRPXaBvGH4/SScmOnPIKvI/AAAAAAAAAB0/SFc-aWl8moI/S220/curtis_windatt.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp3.blogger.com/_3QRPXaBvGH4/R976oy9oH9I/AAAAAAAAAAg/QLc5QzjjCKA/s72-c/Legislature+001.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30049963.post-7168749704948730176</id><published>2008-02-06T13:52:00.000-06:00</published><updated>2008-02-06T14:47:39.946-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='version'/><category scheme='http://www.blogger.com/atom/ns#' term='API'/><category scheme='http://www.blogger.com/atom/ns#' term='wizard'/><category scheme='http://www.blogger.com/atom/ns#' term='since tag'/><category scheme='http://www.blogger.com/atom/ns#' term='tooling'/><title type='text'>Api Tools is Official</title><content type='html'>With much joy, I am happy to say that the Api Tools incubator project is now part of the SDK proper. We (Darin, Olivier and myself) have been working very hard to get it up and running (and useful).&lt;br /&gt;&lt;br /&gt;The project has come a long way since my last post....&lt;br /&gt;&lt;br /&gt;We now have:&lt;br /&gt;1. an incremental builder&lt;br /&gt;2. problem markers for api usage problems / api breaking changes&lt;br /&gt;&lt;br /&gt;&lt;a href="http://bp3.blogger.com/_DJRXz3dLaww/R6oR3_ZMccI/AAAAAAAAABM/twqvd1BTFPw/s1600-h/i1.PNG"&gt;&lt;img style="display:block; margin:0px 15px 10px; cursor:pointer; cursor:hand;" src="http://bp3.blogger.com/_DJRXz3dLaww/R6oR3_ZMccI/AAAAAAAAABM/twqvd1BTFPw/s320/i1.PNG" border="0" alt="Example problem marker"id="BLOGGER_PHOTO_ID_5163959576341279170" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;3. filters for api problem kinds&lt;br /&gt;&lt;br /&gt;&lt;a href="http://bp3.blogger.com/_DJRXz3dLaww/R6oSz_ZMcfI/AAAAAAAAABk/nLx8XFVVP_g/s1600-h/i4.PNG"&gt;&lt;img style="display:block; margin:0px 15px 10px; cursor:pointer; cursor:hand;" src="http://bp3.blogger.com/_DJRXz3dLaww/R6oSz_ZMcfI/AAAAAAAAABk/nLx8XFVVP_g/s320/i4.PNG" border="0" alt="API filters property page for jdt.debug plugin"id="BLOGGER_PHOTO_ID_5163960607133430258" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;4. quick-fixes for a variety of api problem kinds&lt;br /&gt;&lt;br /&gt;&lt;a href="http://bp3.blogger.com/_DJRXz3dLaww/R6oSi_ZMceI/AAAAAAAAABc/6r-cJPlDVT0/s1600-h/i3.PNG"&gt;&lt;img style="display:block; margin:0px 15px 10px; cursor:pointer; cursor:hand;" src="http://bp3.blogger.com/_DJRXz3dLaww/R6oSi_ZMceI/AAAAAAAAABc/6r-cJPlDVT0/s320/i3.PNG" border="0" alt="Quick fix for illegal api uasge problem"id="BLOGGER_PHOTO_ID_5163960315075654114" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://bp3.blogger.com/_DJRXz3dLaww/R6oUY_ZMcjI/AAAAAAAAACE/A7WVD8-_e40/s1600-h/i8.PNG"&gt;&lt;img style="display:block; margin:0 15px 10px;cursor:pointer; cursor:hand;" src="http://bp3.blogger.com/_DJRXz3dLaww/R6oUY_ZMcjI/AAAAAAAAACE/A7WVD8-_e40/s320/i8.PNG" border="0" alt="Quick fix for since tag problem"id="BLOGGER_PHOTO_ID_5163962342300217906" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;5. a wizard to set up api tooling on plugin projects&lt;br /&gt;&lt;br /&gt;&lt;a href="http://bp1.blogger.com/_DJRXz3dLaww/R6oTDfZMcgI/AAAAAAAAABs/UqSZNL14Eqs/s1600-h/i5.PNG"&gt;&lt;img style="display:block; margin:0px 15px 10px; cursor:pointer; cursor:hand;" src="http://bp1.blogger.com/_DJRXz3dLaww/R6oTDfZMcgI/AAAAAAAAABs/UqSZNL14Eqs/s320/i5.PNG" border="0" alt="API Tooling setup wizard"id="BLOGGER_PHOTO_ID_5163960873421402626" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;6. preference / property pages to configure options for the tooling&lt;br /&gt;&lt;br /&gt;&lt;a href="http://bp3.blogger.com/_DJRXz3dLaww/R6oSK_ZMcdI/AAAAAAAAABU/zzXAMBmk4cQ/s1600-h/i2.PNG"&gt;&lt;img style="display:block; margin:0px 15px 10px; cursor:pointer; cursor:hand;" src="http://bp3.blogger.com/_DJRXz3dLaww/R6oSK_ZMcdI/AAAAAAAAABU/zzXAMBmk4cQ/s320/i2.PNG" border="0" alt="Errors / Warnings preference page for api tooling"id="BLOGGER_PHOTO_ID_5163959902758793682" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;7. version management&lt;br /&gt;&lt;br /&gt;&lt;a href="http://bp1.blogger.com/_DJRXz3dLaww/R6oTefZMchI/AAAAAAAAAB0/i1BrRnkuIYI/s1600-h/i6.PNG"&gt;&lt;img style="display:block; margin:0px 15px 10px; cursor:pointer; cursor:hand;" src="http://bp1.blogger.com/_DJRXz3dLaww/R6oTefZMchI/AAAAAAAAAB0/i1BrRnkuIYI/s320/i6.PNG" border="0" alt="Workbench showing plugin version numbering problem marker"id="BLOGGER_PHOTO_ID_5163961337277870610" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;8. @since tag management&lt;br /&gt;&lt;br /&gt;&lt;a href="http://bp0.blogger.com/_DJRXz3dLaww/R6oT3PZMciI/AAAAAAAAAB8/SmAf0AL715M/s1600-h/i7.PNG"&gt;&lt;img style="display:block; margin:0px 15px 10px; cursor:pointer; cursor:hand;" src="http://bp0.blogger.com/_DJRXz3dLaww/R6oT3PZMciI/AAAAAAAAAB8/SmAf0AL715M/s320/i7.PNG" border="0" alt="Workbench showing since tag problem marker"id="BLOGGER_PHOTO_ID_5163961762479632930" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Stay tuned for more updates...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30049963-7168749704948730176?l=eclipse-debug.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eclipse-debug.blogspot.com/feeds/7168749704948730176/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=30049963&amp;postID=7168749704948730176' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30049963/posts/default/7168749704948730176'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30049963/posts/default/7168749704948730176'/><link rel='alternate' type='text/html' href='http://eclipse-debug.blogspot.com/2008/02/api-tools-is-official.html' title='Api Tools is Official'/><author><name>Mike</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp3.blogger.com/_DJRXz3dLaww/R6oR3_ZMccI/AAAAAAAAABM/twqvd1BTFPw/s72-c/i1.PNG' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30049963.post-8747897675959230807</id><published>2008-01-21T16:09:00.000-06:00</published><updated>2008-01-22T08:49:41.817-06:00</updated><title type='text'>Creating help just got a little bit easier</title><content type='html'>Are you looking forward to the 3.4 doc pass?  No?  Really now, where is your user assistance spirit?&lt;br /&gt;&lt;br /&gt;In 3.4 PDE is hoping to improve your documenting days, specifically by making it easier to create, edit and review context sensitive help.  The first step was to create a fancy new editor...&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_3QRPXaBvGH4/R5UZzyHJXoI/AAAAAAAAAAY/caUHewNPirI/s1600-h/editor.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp3.blogger.com/_3QRPXaBvGH4/R5UZzyHJXoI/AAAAAAAAAAY/caUHewNPirI/s320/editor.jpg" alt="" id="BLOGGER_PHOTO_ID_5158057325638540930" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;The editor allows you to quickly create and edit new new contexts, topics and commands.  But the addition of dragging and dropping, cutting and pasting, opening linked files in various views, and more, is what makes this editor so much better then trudging through the xml.  The editor should be the default editor for context help xml starting with today's I build.&lt;br /&gt;&lt;br /&gt;There's more to come as well.  During 3.4 PDE will hopefully be adding more features to help connect the context ids in your code with those in the xml.&lt;br /&gt;&lt;br /&gt;A big thanks goes out to Chris and the PDE team, who managed to review and commit my 5000+ line patch in record time.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30049963-8747897675959230807?l=eclipse-debug.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eclipse-debug.blogspot.com/feeds/8747897675959230807/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=30049963&amp;postID=8747897675959230807' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30049963/posts/default/8747897675959230807'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30049963/posts/default/8747897675959230807'/><link rel='alternate' type='text/html' href='http://eclipse-debug.blogspot.com/2008/01/creating-help-just-got-little-bit.html' title='Creating help just got a little bit easier'/><author><name>Curtis</name><uri>http://www.blogger.com/profile/07823163562402913233</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://4.bp.blogspot.com/_3QRPXaBvGH4/SScmOnPIKvI/AAAAAAAAAB0/SFc-aWl8moI/S220/curtis_windatt.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp3.blogger.com/_3QRPXaBvGH4/R5UZzyHJXoI/AAAAAAAAAAY/caUHewNPirI/s72-c/editor.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30049963.post-8686979695784563695</id><published>2007-11-22T09:13:00.001-06:00</published><updated>2007-11-22T09:39:29.259-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='platform'/><category scheme='http://www.blogger.com/atom/ns#' term='API'/><category scheme='http://www.blogger.com/atom/ns#' term='incubator'/><category scheme='http://www.blogger.com/atom/ns#' term='tooling'/><title type='text'>API Tooling is a work in progress</title><content type='html'>Lately I have had the chance to work on a new project a little outside the scope of debuggers: API tooling support for the platform. Ultimately the goal of this incubator project is to provide tools for 'working' with APIs. Working in this context is loosely defined as:&lt;br /&gt;&lt;br /&gt;1. Manging API usage across builds/products&lt;br /&gt;2. Creating API profiles to compare against&lt;br /&gt;3. Tools to compare APIs&lt;br /&gt;4. Tools to manage API breakage detection/repair&lt;br /&gt;...&lt;br /&gt;&lt;br /&gt;Alot more information can be found on the wiki for the project (&lt;a href="http://wiki.eclipse.org/PDE_UI_Incubator_ApiTools"&gt;here&lt;/a&gt;).&lt;br /&gt;&lt;br /&gt;One of the features currently available in the project is the ability to manage API profiles. API profiles are considered to be a description of the API of a component (which can be a project, plugin, bundle, etc). These profiles can be used to compare current source to, or another component. &lt;br /&gt;&lt;br /&gt;The following screenshot is the 'API Profiles' preference page used manage API profiles (hence its name :) )&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_DJRXz3dLaww/R0Wg-sfWyqI/AAAAAAAAAA4/a3cbB5ar2nM/s1600-h/APIPP.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://bp3.blogger.com/_DJRXz3dLaww/R0Wg-sfWyqI/AAAAAAAAAA4/a3cbB5ar2nM/s320/APIPP.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5135687949040929442" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Another feature is the ability to use Javadoc source tags to define API restrictions. The tags are provided as completion proposals for classes, interfaces, methods and fields. For example you could add a @noimplement tag to an API interface that clients are intended to use but not implement. &lt;br /&gt;&lt;br /&gt;The following screen cap is a shot of a Java editor showing a variety of source tags.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_DJRXz3dLaww/R0Wh5MfWyrI/AAAAAAAAABA/O4TmQzb4_DU/s1600-h/editor.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://bp1.blogger.com/_DJRXz3dLaww/R0Wh5MfWyrI/AAAAAAAAABA/O4TmQzb4_DU/s320/editor.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5135688954063276722" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;These are of course previews of current ongoing work, so it could change at any time :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30049963-8686979695784563695?l=eclipse-debug.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eclipse-debug.blogspot.com/feeds/8686979695784563695/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=30049963&amp;postID=8686979695784563695' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30049963/posts/default/8686979695784563695'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30049963/posts/default/8686979695784563695'/><link rel='alternate' type='text/html' href='http://eclipse-debug.blogspot.com/2007/11/api-tooling-is-work-in-progress.html' title='API Tooling is a work in progress'/><author><name>Mike</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp3.blogger.com/_DJRXz3dLaww/R0Wg-sfWyqI/AAAAAAAAAA4/a3cbB5ar2nM/s72-c/APIPP.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30049963.post-119255121208304118</id><published>2007-10-30T09:21:00.000-05:00</published><updated>2007-10-30T13:39:38.322-05:00</updated><title type='text'>One year of contributing</title><content type='html'>It has been exactly one year since I started working at IBM and one year since I started contributing to Eclipse. &lt;br /&gt;&lt;br /&gt;To celebrate, I am spending the whole day &lt;a href="http://www.eclipse.org/eclipse/debug/test_plans/test_plan-3.4M3.php"&gt;testing&lt;/a&gt;!&lt;br /&gt;&lt;br /&gt;... I suppose I could have tried to find something more fun to do.  Maybe next week on my birthday (which happens to be Eclipse's birthday as well), I'll imbibe some kind of frosty beverage.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30049963-119255121208304118?l=eclipse-debug.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eclipse-debug.blogspot.com/feeds/119255121208304118/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=30049963&amp;postID=119255121208304118' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30049963/posts/default/119255121208304118'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30049963/posts/default/119255121208304118'/><link rel='alternate' type='text/html' href='http://eclipse-debug.blogspot.com/2007/10/one-year-of-contributing.html' title='One year of contributing'/><author><name>Curtis</name><uri>http://www.blogger.com/profile/07823163562402913233</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://4.bp.blogspot.com/_3QRPXaBvGH4/SScmOnPIKvI/AAAAAAAAAB0/SFc-aWl8moI/S220/curtis_windatt.png'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30049963.post-3747797948631917280</id><published>2007-10-22T08:40:00.000-05:00</published><updated>2007-10-22T08:53:58.893-05:00</updated><title type='text'>Searching Now Includes Launch Configurations</title><content type='html'>I love the community of Eclipse, and how some people, other than us committers take time to re-examine old bugs that they are interested in. Most recently bug &lt;a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=57515"&gt;57515&lt;/a&gt; was re-examined by the community, which resulted in the patch being committed, and the debug team having a new feature to brag about :).&lt;br /&gt;&lt;br /&gt;Without further ado, this post is about searching, search participants and the new-fangled feature that returns launch configurations as search matches (when looking for Java types). To be more explicit, only launch configurations that have a main type attribue to search against will be found as possible matches.&lt;br /&gt;&lt;br /&gt;Ok so really that last paragraoh was all there was to say about searching, etc. But you can check out a snazy screenshot of the eclipse search view showing a Java launch configuration match.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://bp3.blogger.com/_DJRXz3dLaww/RxyrFy8mENI/AAAAAAAAAAs/pt6ohG9roOk/s1600-h/window.PNG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://bp3.blogger.com/_DJRXz3dLaww/RxyrFy8mENI/AAAAAAAAAAs/pt6ohG9roOk/s320/window.PNG" border="0" alt=""id="BLOGGER_PHOTO_ID_5124158592104403154" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Thanks again Peter for the patch for a cool feature.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30049963-3747797948631917280?l=eclipse-debug.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eclipse-debug.blogspot.com/feeds/3747797948631917280/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=30049963&amp;postID=3747797948631917280' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30049963/posts/default/3747797948631917280'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30049963/posts/default/3747797948631917280'/><link rel='alternate' type='text/html' href='http://eclipse-debug.blogspot.com/2007/10/searching-now-includes-launch.html' title='Searching Now Includes Launch Configurations'/><author><name>Mike</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp3.blogger.com/_DJRXz3dLaww/RxyrFy8mENI/AAAAAAAAAAs/pt6ohG9roOk/s72-c/window.PNG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30049963.post-5371173264963418587</id><published>2007-10-04T09:18:00.000-05:00</published><updated>2007-10-04T09:47:15.658-05:00</updated><title type='text'>Import/Export Launch Configurations</title><content type='html'>This week I thought to myself, "lets fix a really old bug that has been marked LATER". So I went off looking for a bug or enhancement to try and find a good one. The best I could come with was importing and exporting launch configurations, &lt;a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=12898"&gt;bug 12898&lt;/a&gt; (to and from the local file system). Rest assured there were a lot of cool bugs, but I also had to find one that would not take a long time to fix...&lt;br /&gt;&lt;br /&gt;A good part of the idea behind this one was that not everyone uses CVS (or a variant) to share code (making shared configs almost useless). Most people also do not know where launch configuration files are stored in their workspace. With that in mind you can now fire up the export wizard, choose launch configurations, select the ones you want and the location to save them and PRESTO (not the pasta sauce) you get an instant copy of the selected configurations in that new location.&lt;br /&gt;&lt;br /&gt;The export wizard&lt;br /&gt;&lt;a href="http://bp3.blogger.com/_DJRXz3dLaww/RwT5yy8mEJI/AAAAAAAAAAM/dy2H6rM6Byg/s1600-h/p1.PNG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://bp3.blogger.com/_DJRXz3dLaww/RwT5yy8mEJI/AAAAAAAAAAM/dy2H6rM6Byg/s320/p1.PNG" border="0" alt=""id="BLOGGER_PHOTO_ID_5117489727664427154" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The configuration export wizard&lt;br /&gt;&lt;br /&gt;&lt;a href="http://bp2.blogger.com/_DJRXz3dLaww/RwT6Ji8mEKI/AAAAAAAAAAU/clreB0xq9uk/s1600-h/p2.PNG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://bp2.blogger.com/_DJRXz3dLaww/RwT6Ji8mEKI/AAAAAAAAAAU/clreB0xq9uk/s320/p2.PNG" border="0" alt=""id="BLOGGER_PHOTO_ID_5117490118506451106" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Now lets say you have you have a bunch of launch configurations in a folder that you would like in your workspace, you can use the import wizard to make this happen. The import wizard uses the standard 'import resources' widgetry, so there should be nothing new in this wizard page (provided you have imported something from your file system before).&lt;br /&gt;&lt;br /&gt;The import wizard&lt;br /&gt;&lt;br /&gt;&lt;a href="http://bp3.blogger.com/_DJRXz3dLaww/RwT7My8mELI/AAAAAAAAAAc/qGf_E2ZzL8g/s1600-h/p3.PNG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://bp3.blogger.com/_DJRXz3dLaww/RwT7My8mELI/AAAAAAAAAAc/qGf_E2ZzL8g/s320/p3.PNG" border="0" alt=""id="BLOGGER_PHOTO_ID_5117491273852653746" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The configuration import wizard&lt;br /&gt;&lt;br /&gt;&lt;a href="http://bp1.blogger.com/_DJRXz3dLaww/RwT7XS8mEMI/AAAAAAAAAAk/2VMcjHQYsCk/s1600-h/p4.PNG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://bp1.blogger.com/_DJRXz3dLaww/RwT7XS8mEMI/AAAAAAAAAAk/2VMcjHQYsCk/s320/p4.PNG" border="0" alt=""id="BLOGGER_PHOTO_ID_5117491454241280194" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;You're welcome.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30049963-5371173264963418587?l=eclipse-debug.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eclipse-debug.blogspot.com/feeds/5371173264963418587/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=30049963&amp;postID=5371173264963418587' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30049963/posts/default/5371173264963418587'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30049963/posts/default/5371173264963418587'/><link rel='alternate' type='text/html' href='http://eclipse-debug.blogspot.com/2007/10/importexport-launch-configurations.html' title='Import/Export Launch Configurations'/><author><name>Mike</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp3.blogger.com/_DJRXz3dLaww/RwT5yy8mEJI/AAAAAAAAAAM/dy2H6rM6Byg/s72-c/p1.PNG' height='72' width='72'/><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30049963.post-5998033465916405695</id><published>2007-09-19T15:06:00.000-05:00</published><updated>2007-09-19T16:56:42.376-05:00</updated><title type='text'>It never ceases to amaze me...</title><content type='html'>In the relatively small amount of time I have been contributing to Eclipse, I have grown to expect great things from the platform and the community.  Yet, on a regular basis (often coinciding with updated new and noteworthy pages), I find myself thinking "Cool, I didn't know you could do that.".  I am also constantly astounded by the enthusiasm, support and knowledge of Eclipse committers.&lt;br /&gt;&lt;br /&gt;So what has caught my attention this week? &lt;a href="http://mea-bloga.blogspot.com/2007/09/spying-workingsets-log-view.html"&gt;Plug-in Spy&lt;/a&gt; is the tool I have been searching for since I started working on Eclipse.  Now I can instantly determine the class for an open dialog, link to the source and edit it.  Another useful feature that I found was the zip file comparator.  I'm not sure how long it has been around, but I discovered that you can see the outgoing changes to a zip file in a nice directory structure with changes to individual files shown.  I was also reminded of how powerful context launching is when it &lt;a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=203687"&gt;stopped working&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;I stepped into PDE land for a couple of days to work on an &lt;a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=88204"&gt;import quick fix feature&lt;/a&gt;.  The enthusiasm of the PDE team is unparalleled.  Brian Bauman, along with other committers, made working on it both enjoyable and straightforward.  Keep an eye on PDE's M2 new and noteworthy.&lt;br /&gt;&lt;br /&gt;It was great to see a community member, Joe Pluta, step forward to help out with our M2 test-pass (there were only two committers available to test this week).   I updated our &lt;a href="http://www.eclipse.org/eclipse/debug/get_involved.php"&gt;Get Involved&lt;/a&gt; web page, and hope that others would consider helping out the debug team (or any other Eclipse team).  There are many ways to get involved, including testing for defects, triaging bugs and contributing fixes.&lt;br /&gt;&lt;br /&gt;Don't forget that Sept. 28th is &lt;a href="http://wiki.eclipse.org/Bug_Day_September_2007"&gt;Bug Day&lt;/a&gt;!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30049963-5998033465916405695?l=eclipse-debug.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eclipse-debug.blogspot.com/feeds/5998033465916405695/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=30049963&amp;postID=5998033465916405695' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30049963/posts/default/5998033465916405695'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30049963/posts/default/5998033465916405695'/><link rel='alternate' type='text/html' href='http://eclipse-debug.blogspot.com/2007/09/it-never-ceases-to-amaze-me.html' title='It never ceases to amaze me...'/><author><name>Curtis</name><uri>http://www.blogger.com/profile/07823163562402913233</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://4.bp.blogspot.com/_3QRPXaBvGH4/SScmOnPIKvI/AAAAAAAAAB0/SFc-aWl8moI/S220/curtis_windatt.png'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30049963.post-6875346898141680342</id><published>2007-09-12T08:08:00.000-05:00</published><updated>2007-09-12T08:27:16.479-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='launching'/><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='debug'/><category scheme='http://www.blogger.com/atom/ns#' term='shortcut'/><title type='text'>Sharing Makes the World Go 'Round</title><content type='html'>New API released in JDT Debug project: our Java launch shortcuts (finally). &lt;br /&gt;&lt;br /&gt;Gone are the days of having to copy and paste all of our code so that you too can have a base Java launch shortcut with a couple of different 'tweaks'. Now every contributor has the use and extensibility of all of our Java shortcuts (and their parent abstract class) without getting those annoying 'discouraged access' warnings.&lt;br /&gt;&lt;br /&gt;There are three classes in total, made available in the package org.eclipse.jdt.debug.launchConfigurations:&lt;br /&gt;&lt;br /&gt;1. JavaLaunchShortcut (the abstract parent class)&lt;br /&gt;2. JavaAppletLaunchShortcut (our concrete implementation for launching applets)&lt;br /&gt;3. JavaApplicationLaunchShortcut (our concrete implementation for launching Java applications)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30049963-6875346898141680342?l=eclipse-debug.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eclipse-debug.blogspot.com/feeds/6875346898141680342/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=30049963&amp;postID=6875346898141680342' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30049963/posts/default/6875346898141680342'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30049963/posts/default/6875346898141680342'/><link rel='alternate' type='text/html' href='http://eclipse-debug.blogspot.com/2007/09/sharing-makes-world-go-round.html' title='Sharing Makes the World Go &apos;Round'/><author><name>Mike</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30049963.post-4693224346760519108</id><published>2007-09-05T11:05:00.000-05:00</published><updated>2007-09-05T11:16:39.664-05:00</updated><title type='text'>((Debug + Context Launching) &gt;&gt; 32)^2</title><content type='html'>New to 3.4 is context launching 2.0. &lt;br /&gt;&lt;br /&gt;With this new addition people who want to take part in context launching but do not care about IResource's can participate as well. Gone are the days of context launching only working for 'things' that have an IResource adapter. Now anyone, using nothing more than the new API for a launch shortcut, can have a say what should be launched, or what resource should be launched (if any).&lt;br /&gt;&lt;br /&gt;The new API in question comes from ILaunchShortcut2 (which surprisingly is an extension to ILaunchShortcut), and provides 4 new methods:&lt;br /&gt;&lt;br /&gt;1. getLaunchableResource(IEditorPart)&lt;br /&gt;2. getLaunchableResource(ISelection) &lt;br /&gt;3. getLaunchConfigurations(IEditorPart)&lt;br /&gt;4. getLaunchConfigurations(ISelection)&lt;br /&gt;&lt;br /&gt;With these methods contributors can now tell context launching either which resource it should be launching, or what launch configurations it should be launching.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30049963-4693224346760519108?l=eclipse-debug.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eclipse-debug.blogspot.com/feeds/4693224346760519108/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=30049963&amp;postID=4693224346760519108' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30049963/posts/default/4693224346760519108'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30049963/posts/default/4693224346760519108'/><link rel='alternate' type='text/html' href='http://eclipse-debug.blogspot.com/2007/09/debug-context-launching-322.html' title='((Debug + Context Launching) &gt;&gt; 32)^2'/><author><name>Mike</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30049963.post-5405627229300264461</id><published>2007-07-17T09:35:00.000-05:00</published><updated>2007-07-17T10:02:33.918-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='launching'/><category scheme='http://www.blogger.com/atom/ns#' term='context'/><category scheme='http://www.blogger.com/atom/ns#' term='3.4'/><category scheme='http://www.blogger.com/atom/ns#' term='debug'/><category scheme='http://www.blogger.com/atom/ns#' term='project'/><category scheme='http://www.blogger.com/atom/ns#' term='3.3'/><category scheme='http://www.blogger.com/atom/ns#' term='coding'/><title type='text'>Out of Lockdown V2.0</title><content type='html'>As Curtis put it: it is nice to be out of the 3.3 lockdown. It means that we can start writing some cool code and adding in some cool new features. Curtis already told you all about the cool new dragging and dropping. I will tell you about non-resource based context launching. &lt;br /&gt;&lt;br /&gt;You might remember back in 3.3M6 when we added in the new feature for context sensitive launching, heck you might even be using the new feature. For all the good  that it brought to the world, it did have a severe drawback; it did not work with project artifacts that were not resource based (had or could get a handle on an IResource). &lt;br /&gt;&lt;br /&gt;What we want to do now (in the start of 3.4) is extend context launching to allow contributors the ability to tell us how to launch something. That way if we don't know how to launch foo.xxp you can provide a context launching participant to tell us how you would like it launched. &lt;br /&gt;&lt;br /&gt;We are hoping that this will bring together the best of all worlds of launching and make it even easier for novice to expert users to make use of launching/development in Eclipse.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30049963-5405627229300264461?l=eclipse-debug.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eclipse-debug.blogspot.com/feeds/5405627229300264461/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=30049963&amp;postID=5405627229300264461' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30049963/posts/default/5405627229300264461'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30049963/posts/default/5405627229300264461'/><link rel='alternate' type='text/html' href='http://eclipse-debug.blogspot.com/2007/07/out-of-lockdown-v20.html' title='Out of Lockdown V2.0'/><author><name>Mike</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30049963.post-8026921685387608245</id><published>2007-07-12T12:46:00.000-05:00</published><updated>2007-07-12T13:14:19.356-05:00</updated><title type='text'>Escape from 3.3 Lockdown</title><content type='html'>It's so nice to be out of the 3.3 lockdown.  We can finally put some new features in (plus there was time for a week long vacation in &lt;a href="http://www.ontarioparks.com/English/rush.html"&gt;Rushing River&lt;/a&gt;).  In the two weeks spent working on 3.4, the Debug team has already added many new fixes and features.  One of these new features is dragging and dropping for the variables and expressions views.&lt;br /&gt;&lt;br /&gt;To create a new watch expression for a variable in the variables view, you simply select a variable and drag it to the expressions view.  You can even select multiple variables to create expressions for them all.&lt;br /&gt;&lt;br /&gt;To create a new watch expression you can also drag text from the editor or anywhere that supports text dragging.  Drag selected text onto the expressions view to create a new watch expression with the dragged text as its code snippet.&lt;br /&gt;&lt;br /&gt;When dragging to the expressions view you can insert to a specific place in the view, or just add it to the end.  You can also drag existing expressions to reorder them in the view.&lt;br /&gt;&lt;br /&gt;During 3.4 the debug team is looking at other ways to use drag and drop to improve the user experience.  If you have any ideas, leave a comment or file an enhancement request.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30049963-8026921685387608245?l=eclipse-debug.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eclipse-debug.blogspot.com/feeds/8026921685387608245/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=30049963&amp;postID=8026921685387608245' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30049963/posts/default/8026921685387608245'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30049963/posts/default/8026921685387608245'/><link rel='alternate' type='text/html' href='http://eclipse-debug.blogspot.com/2007/07/escape-from-33-lockdown.html' title='Escape from 3.3 Lockdown'/><author><name>Curtis</name><uri>http://www.blogger.com/profile/07823163562402913233</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://4.bp.blogspot.com/_3QRPXaBvGH4/SScmOnPIKvI/AAAAAAAAAB0/SFc-aWl8moI/S220/curtis_windatt.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30049963.post-8703338659578918204</id><published>2007-06-21T10:47:00.000-05:00</published><updated>2007-06-21T10:52:27.522-05:00</updated><title type='text'>Darin Wright, Champion Among Men</title><content type='html'>Today I would like to make a post telling everyone that our manager, Darin Wright is indeed a champion among men (not just to get a promotion).&lt;br /&gt;&lt;br /&gt;On the ride to work today, as Darin rides his bike to work every day, he was hit by a truck. Luckily he was not harmed in any way, and yes the driver was talking on his cell phone and not paying attention.&lt;br /&gt;&lt;br /&gt;But this is not what makes him the champ.&lt;br /&gt;&lt;br /&gt;The fact that he walked what was left of his bike home, fixed it, and then rode it to work (again), and then once he got here was still happy to be at work, is what makes him the champ.&lt;br /&gt;&lt;br /&gt;Axesome.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30049963-8703338659578918204?l=eclipse-debug.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eclipse-debug.blogspot.com/feeds/8703338659578918204/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=30049963&amp;postID=8703338659578918204' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30049963/posts/default/8703338659578918204'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30049963/posts/default/8703338659578918204'/><link rel='alternate' type='text/html' href='http://eclipse-debug.blogspot.com/2007/06/darin-wright-champion-among-men.html' title='Darin Wright, Champion Among Men'/><author><name>Mike</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30049963.post-1268788552604784134</id><published>2007-06-20T11:19:00.000-05:00</published><updated>2007-06-20T14:09:32.421-05:00</updated><title type='text'>Facebook is the new Eclipse Hangout</title><content type='html'>For all you Eclipse Committers (and Committer wannabes) who hang out on &lt;a href="http://www.facebook.com/"&gt;Facebook&lt;/a&gt; at least once in a blue moon, Mike and myself have started a new group for you.  The group is called &lt;span style="font-weight: bold;"&gt;Eclipse Committers&lt;/span&gt; and is of the type: &lt;span style="font-style: italic;"&gt;Internet &amp;amp; Technology - Software&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;So join up, say hi, and let everyone see all the embarassing information you leave on your Facebook profile.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30049963-1268788552604784134?l=eclipse-debug.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eclipse-debug.blogspot.com/feeds/1268788552604784134/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=30049963&amp;postID=1268788552604784134' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30049963/posts/default/1268788552604784134'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30049963/posts/default/1268788552604784134'/><link rel='alternate' type='text/html' href='http://eclipse-debug.blogspot.com/2007/06/facebook-is-new-eclipse-hangout.html' title='Facebook is the new Eclipse Hangout'/><author><name>Curtis</name><uri>http://www.blogger.com/profile/07823163562402913233</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://4.bp.blogspot.com/_3QRPXaBvGH4/SScmOnPIKvI/AAAAAAAAAB0/SFc-aWl8moI/S220/curtis_windatt.png'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30049963.post-7724619115930408930</id><published>2007-06-19T09:14:00.000-05:00</published><updated>2007-06-19T09:18:27.232-05:00</updated><title type='text'>iClipse</title><content type='html'>For all those Mac users out there, Eclipse 3.3 comes with an important fix. You can now run and debug applications on more than the OS default VM. We discovered that an environment variable on the Mac (JAVA_JVM_VERSION) controls which VM gets launched. Eclipse now modifies this environment variable for each new process (VM) that gets launched, to match the user selected JRE.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30049963-7724619115930408930?l=eclipse-debug.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eclipse-debug.blogspot.com/feeds/7724619115930408930/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=30049963&amp;postID=7724619115930408930' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30049963/posts/default/7724619115930408930'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30049963/posts/default/7724619115930408930'/><link rel='alternate' type='text/html' href='http://eclipse-debug.blogspot.com/2007/06/iclipse.html' title='iClipse'/><author><name>Darin Wright</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30049963.post-7145013785162722779</id><published>2007-06-18T15:30:00.000-05:00</published><updated>2007-06-18T15:37:29.093-05:00</updated><title type='text'>Cleaning the bug buckets</title><content type='html'>Over the last few weeks the debug team has been going through the dreaded and controversial "Resolved - Later" bugs and feature requests. I wasn't able to come up with the right &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;Bugzilla&lt;/span&gt; query to get exact statistics, but I know we had over 800 Resolved-Later bugs last month, and now we're sitting at 715. Not bad - that's over a 12% reduction! Some bugs had been fixed along the way (always a nice surprise), some had become irrelevant, some were re-opened to be addressed, and some were even re-opened with fresh patches to be applied soon.&lt;br /&gt;&lt;br /&gt;Just another seven months and we'll have had a chance to look at each one :-) Be patient.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30049963-7145013785162722779?l=eclipse-debug.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eclipse-debug.blogspot.com/feeds/7145013785162722779/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=30049963&amp;postID=7145013785162722779' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30049963/posts/default/7145013785162722779'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30049963/posts/default/7145013785162722779'/><link rel='alternate' type='text/html' href='http://eclipse-debug.blogspot.com/2007/06/cleaning-bug-buckets.html' title='Cleaning the bug buckets'/><author><name>Darin Wright</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30049963.post-1783924009638450474</id><published>2007-06-15T12:20:00.000-05:00</published><updated>2007-06-18T11:22:46.808-05:00</updated><title type='text'>One Europa Experience</title><content type='html'>I swear I'm not just doing this for the &lt;a href="http://www.eclipse.org/org/press-release/20070612cb_europareviews.php"&gt;free shirt&lt;/a&gt;.  With only 2 weeks to go until it is released, I figured it was time for me to get a taste of &lt;a href="http://www.eclipse.org/europa/"&gt;Europa&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;The coolest thing about Europa is that it should make it easy to install a large number of tools.  Using Europa, you spend your time using the tools, not installing them.&lt;br /&gt;&lt;br /&gt;Does Europa do a good job at this?  I'm not entirely sure, my experience was far from perfect, but I can't say I regret it.&lt;br /&gt;&lt;br /&gt;The good:&lt;br /&gt;&lt;br /&gt;- The ability to see such a wide variety of projects in the update manager, choose the ones I wanted and have the manager select all the required plugins is great.  I was unable to resolve dependency issues for the Buckminster project, but I'll just assume that it will be fixed in the next couple of weeks.&lt;br /&gt;&lt;br /&gt;- Once I had Europa up and running, I found a lot of axesome tools, many of which use the platform and/or the JDT debugger framework.  I was impressed by the functionality available, so a pat on the back to all the teams out there creating these open source tools.&lt;br /&gt;&lt;br /&gt;The not so good:&lt;br /&gt;&lt;br /&gt;- The welcome page seemed so empty and not helpful considering how many tools I had installed.&lt;br /&gt;&lt;br /&gt;- The preferences dialog is scary.  It is a strong encouragement to use the default settings.  Expect to spend a long time going through it if you like having everything configured the way you like it.  Oh and don't forget to export your settings when you are done.&lt;br /&gt;&lt;br /&gt;- Before I could even close the welcome page, Mylar was helpful enough to open a dialog, preventing me from doing anything until I set some preferences.  What is so important about the Mylar options that they need a dialog on startup vs a preference page.  This dialog got even more annoying when I clicked the link at the bottom to watch a video about getting starte with Mylar.  The progress bar showed up for a second and that was it.  Once I closed the welcome page (after just hitting okay on the dialog with the default settings), I discovered several web browsers open trying to show me a video (which had been moved due to the renaming of the Mylar project).&lt;br /&gt;&lt;br /&gt;- After playing around with some of my freshly installed tools, I checked the log.  Sure enough, errors galore from multiple projects.  Europa is only 2 weeks away.  Having dozens of errors in the log is not going to make us look good.&lt;br /&gt;&lt;br /&gt;- While I found the update manager to be an effective way to install the tools, Mike may not agree.  For starters while using Europa, his chair broke.  The handle broke right off.  Oh and his Eclipse installation crashed and wouldn't launch again.&lt;br /&gt;&lt;br /&gt;Overall, I like Europa and I think it goes a long way to make it easy for users to get the projects they need.  Plus, users who use Europa to get a couple of tools they need are likely to try out some of the other projects available.  But things really need to be polished in the next couple of weeks.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30049963-1783924009638450474?l=eclipse-debug.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eclipse-debug.blogspot.com/feeds/1783924009638450474/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=30049963&amp;postID=1783924009638450474' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30049963/posts/default/1783924009638450474'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30049963/posts/default/1783924009638450474'/><link rel='alternate' type='text/html' href='http://eclipse-debug.blogspot.com/2007/06/one-europa-experience.html' title='One Europa Experience'/><author><name>Curtis</name><uri>http://www.blogger.com/profile/07823163562402913233</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://4.bp.blogspot.com/_3QRPXaBvGH4/SScmOnPIKvI/AAAAAAAAAB0/SFc-aWl8moI/S220/curtis_windatt.png'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30049963.post-3277353482325654924</id><published>2007-06-07T13:10:00.000-05:00</published><updated>2007-06-07T13:18:19.585-05:00</updated><title type='text'>Whats Up Doc?</title><content type='html'>Ok, first off let me say I just couldn't resist on the title, I know it is corney, stupid, etc, but I had to let it out.&lt;br /&gt;&lt;br /&gt;Todays post is about how much I love to write doc for our plugins and the number Z.&lt;br /&gt;&lt;br /&gt;Writing doc is one of those things that we all hate doing, but we all agree needs to be done. This lack of enthusiasm is probably why it is put off until the very last minute in the release cycle instead of being done during the release cycle. I think deep down inside everyone really likes to write doc, as it takes us away to that magical "working but not really" place where we can spend hours and feel a sense of self worth....or not perhaps.&lt;br /&gt;&lt;br /&gt;Let me leave this post on a positive note by saying how much I love to write doc.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30049963-3277353482325654924?l=eclipse-debug.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eclipse-debug.blogspot.com/feeds/3277353482325654924/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=30049963&amp;postID=3277353482325654924' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30049963/posts/default/3277353482325654924'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30049963/posts/default/3277353482325654924'/><link rel='alternate' type='text/html' href='http://eclipse-debug.blogspot.com/2007/06/whats-up-doc.html' title='Whats Up Doc?'/><author><name>Mike</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30049963.post-6104899222876180955</id><published>2007-05-11T11:25:00.000-05:00</published><updated>2007-06-26T09:59:21.678-05:00</updated><title type='text'>Context Launching....Friend Or Foe</title><content type='html'>In 3.3M6 some of you might have noticed that launching has changed...just a little bit.&lt;br /&gt;&lt;br /&gt;In an on-going effort to make the world of launching in Eclipse just that little bit easier for novice users, we have introduced the concept termed 'context launching'. The premise of context launching is that we do everything in our power to try and run whatever the 'thing' you have selected is; failing that we give you the option to try and run the project it is contained in (if there is one). Furthermore, during the context launching process we abstract the hassle of having to create launch configurations or activate shortcut menus by creating the configurations for you, and presenting 'ways' of launching for users to select (if there is more than one way to launch the 'thing' selected).&lt;br /&gt;&lt;br /&gt;Lets stop here for a second so I can tell you that YOU CAN TURN CONTEXT LAUNCHING OFF on the launching preferences page if you don't want to be cool and use the newest coolest launching stuff (but thats fine, I am not in charge of your coolness, I only provide the tools to increase it, a-la your_coolness++).&lt;br /&gt;&lt;br /&gt;Ok back to context launching and why you can't do without it.&lt;br /&gt;&lt;br /&gt;To provide context launching (so far) we have taken all of the familiar launching artifects, like launch shortcuts, etc, and rolled them all into one, leveraging it such a way that you can simply press the run or debug button (when context launching is on that is) and have a configuration pertaining to what you are doing be launched. Right now context launching is limited to things that have an associated IResource (using adapters), but this will likely be extended in the future to include non-resource based stuff (see &lt;a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=181204"&gt; see this bug&lt;/a&gt;).&lt;br /&gt;&lt;br /&gt;The upshot of this is that no matter if you are a plugin, java, etc developer there is no 'new' stuff to learn, all you have to do is press the button (or use the menu shortcut). Even if you spend days creating the best launch configuration in the world it will be used in context launching, as we also make use of your launch history and favorites to help make decisions about what to launch and when. The downside is that it does not cover 100% of the edge cases in launching (&lt;br /&gt;&lt;a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=183509"&gt;see this bug&lt;/a&gt;).&lt;br /&gt;&lt;br /&gt;There is more specific information about context launching and how we implemented it (&lt;a href="http://www.eclipse.org/eclipse/debug/documents/launching/context_launching/Context-launching.pdf" target="_blank"&gt;see this document&lt;/a&gt;) if you are interested.&lt;br /&gt;&lt;br /&gt;So for now, we'll leave it at that and I hope everyone enjoys context launching and provides feedback if they don't, but like I mentioned I cannot be responsible for any depreciation in your coolness if you don't like it.&lt;br /&gt;&lt;br /&gt;This feature has officially been labelled Axesome.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30049963-6104899222876180955?l=eclipse-debug.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eclipse-debug.blogspot.com/feeds/6104899222876180955/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=30049963&amp;postID=6104899222876180955' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30049963/posts/default/6104899222876180955'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30049963/posts/default/6104899222876180955'/><link rel='alternate' type='text/html' href='http://eclipse-debug.blogspot.com/2007/05/context-launchingfriend-or-foe.html' title='Context Launching....Friend Or Foe'/><author><name>Mike</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30049963.post-117528224101638882</id><published>2007-03-30T15:08:00.000-05:00</published><updated>2007-03-30T15:17:21.026-05:00</updated><title type='text'>Export More Stuff For Everyone</title><content type='html'>Are you one of those people that just has to have everything just so? even to the point of having your collection type variables show exactly how you want them? Well if you are you no longer have to fear losing all of those custom logical structures you speant so many hours making.&lt;br /&gt;&lt;br /&gt;You can now export and import Java logical structure preferences separate from other workspace preferences. Java logical structures are defined on the Java &gt; Debug &gt; Logical Structures preference page.&lt;br /&gt;&lt;br /&gt;This is a cool feature...but not quite axesome.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30049963-117528224101638882?l=eclipse-debug.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eclipse-debug.blogspot.com/feeds/117528224101638882/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=30049963&amp;postID=117528224101638882' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30049963/posts/default/117528224101638882'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30049963/posts/default/117528224101638882'/><link rel='alternate' type='text/html' href='http://eclipse-debug.blogspot.com/2007/03/export-more-stuff-for-everyone.html' title='Export More Stuff For Everyone'/><author><name>Eclipse Debug Team</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://www.barneshome.com/kevin/debugteam/nobugs.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30049963.post-117526984853114358</id><published>2007-03-30T11:34:00.000-05:00</published><updated>2007-03-30T11:50:48.543-05:00</updated><title type='text'>Hyperlink Debugging</title><content type='html'>I know I have been silent for qute some time, so I figured it was time to come back to the blogosphere and drop some more knowledge. This time (nothing like that breakpoints post) we have an axesome new feature which is proving to be far more handy than any of us could have really imagined (except Darin of course because he knows everything); Hyperlink Debugging.&lt;br /&gt;&lt;br /&gt;The idea behind hyperlink debugging follows that useful feature that pretty much everyone already knows about: hyperlink open declaration (Ctrl+Click in editors open declarations). Except in our case you can do lightning fast step-into operations with but the press of Ctrl+Alt and a click of the mouse....not impressed yet? check out the example.&lt;br /&gt;&lt;br /&gt;Lets say you wanted to step into the createComposite method shown below:&lt;br /&gt;&lt;br /&gt;SWTFactory.createComposite(getParent(), mainComp.getFont(), getStyle(), getFill());&lt;br /&gt;&lt;br /&gt;The old way, you would have to step into and out of all of the method calls in the createComposite method prior to stepping into the one you wanted. You could of course use the old passe method of step into selection...but just imaging being able to step into creatComposite with a single click...no more selecting code, no more repetitious step into/out of code.&lt;br /&gt;&lt;br /&gt;You can even select what keys to use as modifiers (thanks to the jdt UI guys of course).&lt;br /&gt;&lt;br /&gt;&lt;img style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://photos1.blogger.com/x/blogger/2153/3216/320/284834/hyperlinks.png" border="0" /&gt;&lt;br /&gt;I know what you are thinking....Axesome.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30049963-117526984853114358?l=eclipse-debug.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eclipse-debug.blogspot.com/feeds/117526984853114358/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=30049963&amp;postID=117526984853114358' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30049963/posts/default/117526984853114358'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30049963/posts/default/117526984853114358'/><link rel='alternate' type='text/html' href='http://eclipse-debug.blogspot.com/2007/03/hyperlink-debugging.html' title='Hyperlink Debugging'/><author><name>Mike</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30049963.post-117155544575532464</id><published>2007-02-15T09:55:00.000-06:00</published><updated>2007-03-02T13:24:17.126-06:00</updated><title type='text'>Custom Detail Pane Widgets</title><content type='html'>First off, let me introduce myself to all you avid Debug Team Blog readers.  My name is Curtis Windatt and I am the newest member of the debug team.  I have been working with Darin and Mike at IBM in Winnipeg for almost four months now and I am looking forward to receiving commit rights to the debug projects in the not so far off future.&lt;br /&gt;&lt;br /&gt;The first major feature I worked on is adding support for custom detail pane widgets (Bug 75852).  This feature allows plugins to contribute new detail panes.  The “detail pane” is the area in the variable, expressions and registers view that displays information about the currently selected variable.  Up until now, the detail pane could only display text.&lt;br /&gt;&lt;br /&gt;Now it can display colours!  This custom pane changes background colours depending if the selected element is public/private/etc:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/x/blogger/2182/4252/1600/800521/DetailPaneScreenshot.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/x/blogger/2182/4252/400/830397/DetailPaneScreenshot.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Of course, it can display much more than that.  A custom detail pane is defined by implementing &lt;span style="font-style: italic;"&gt;org.eclipse.debug.ui.IDetailPane&lt;/span&gt;.  The pane can contribute any SWT Control, including Composites that contain multiple controls, to the detail pane.  When the user makes a selection the custom pane is passed the selection so it can display the information however it wants.  The user can use the context menu to choose between the different detail panes available for the current selection.&lt;br /&gt;&lt;br /&gt;To contribute a custom detail pane you must use the new extension point &lt;span style="font-style: italic;"&gt;org.eclipse.debug.ui.detailPaneFactories&lt;/span&gt;.  At this extension point you specify a class implementing &lt;span style="font-style: italic;"&gt;org.eclipse.debug.ui.IDetailPaneFactory&lt;/span&gt;.  Each contributed factory will be asked what detail panes that factory can produce for a given selection.  A factory can offer different combinations of detail panes depending on the selection.  For example, a pane might only be available when 2 or more java variables are selected.  To reduce plugin loading, plugins can also add enablement expressions to the extension so that the factory is only instantiated if the selection applies.&lt;br /&gt;&lt;br /&gt;We are looking forward to seeing what people can do with this new feature.  Leave a comment or send us an e-mail if you create one.  In the future we will try to make an example plugin and possibly a short tutorial available.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30049963-117155544575532464?l=eclipse-debug.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eclipse-debug.blogspot.com/feeds/117155544575532464/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=30049963&amp;postID=117155544575532464' title='10 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30049963/posts/default/117155544575532464'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30049963/posts/default/117155544575532464'/><link rel='alternate' type='text/html' href='http://eclipse-debug.blogspot.com/2007/02/custom-detail-pane-widgets.html' title='Custom Detail Pane Widgets'/><author><name>Curtis</name><uri>http://www.blogger.com/profile/07823163562402913233</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://4.bp.blogspot.com/_3QRPXaBvGH4/SScmOnPIKvI/AAAAAAAAAB0/SFc-aWl8moI/S220/curtis_windatt.png'/></author><thr:total>10</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30049963.post-116835338521741141</id><published>2007-01-09T08:17:00.000-06:00</published><updated>2007-01-09T08:36:25.230-06:00</updated><title type='text'>All About Perspective</title><content type='html'>In line with the changes to the launching framework (retargetting launch delegates, etc), we thought it would be a good idea if we could also fit the 'new way' of launching into the existing perspective switching way of things.&lt;br /&gt;&lt;br /&gt;We felt that with such fine control (now) over how and what does the launching, it would be a nice addition to extend that notion to perspective settings. For example, consider you have two profilers that both launch a Java application with profile options. Traditionally this would have led to perspective switching based on which-ever launch delegate was chosen in the end, leaving the user no control over what would be switched to based on what did the launching.&lt;br /&gt;&lt;br /&gt;Now however, the user can select down to the launch delegate level to specify launch perspective settings. Changes to these setting can be applied on the Perspective preference page as before, with the only notable change being to the launchers tree (see screen shot).&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/x/blogger/2153/3216/1600/570584/ppp.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/x/blogger/2153/3216/320/88659/ppp.png" alt="" border="0" /&gt;&lt;/a&gt;This new page design also allows multiple perspectives to be set at one time, i.e. you can multi-select items in the tree and set perspectives for common modes to all delegates/types in the selection. You can also over-write common perspective settings for launch delegates of a particular type by changing the perspective settings of that type.&lt;br /&gt;&lt;br /&gt;This new hotness is available in builds &gt;= Jan 9 2006&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30049963-116835338521741141?l=eclipse-debug.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eclipse-debug.blogspot.com/feeds/116835338521741141/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=30049963&amp;postID=116835338521741141' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30049963/posts/default/116835338521741141'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30049963/posts/default/116835338521741141'/><link rel='alternate' type='text/html' href='http://eclipse-debug.blogspot.com/2007/01/all-about-perspective.html' title='All About Perspective'/><author><name>Mike</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30049963.post-116542352880218424</id><published>2006-12-06T10:19:00.000-06:00</published><updated>2007-03-01T13:24:50.146-06:00</updated><title type='text'>Mixed-up Launching</title><content type='html'>I guess since it has been quite a while and we have made a pile more changes, it would be a good idea to maybe discuss some of it on "the blog".&lt;br /&gt;&lt;br /&gt;The most notible additon to the debug platform as of late is mixed mode launching. With this new launching notion, we can perform things such as debugging and profiling at the same time....say what? The functionality to do so is an implementation delail that is not provided in the platform, but surely some on-the-ball client of the debug platform will provide it :) -- never-the-less the ability to have mixed mode launching still exists.....really it does....you can believe me....have I lied to you before?&lt;br /&gt;&lt;br /&gt;Along with mixed-mode launching we have vastly improved contributing to launching in Eclipse:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;To extend an existing tab group is now as simple as contributing your own tab...gone are the days of recreating the entire tab group to add one or more of your own tabs. You can even specify the location of your tab...oh my!&lt;/li&gt;&lt;li&gt;Name and description fields have been added to the schemas for launch delegates&lt;/li&gt;&lt;li&gt;Launch delegates (the code that actually launches stuff) can be retargetted dynamically during the launching process&lt;/li&gt;&lt;li&gt;Duplicate launch delegate detection is now in place, with resolution mechanisms and a framework to set preferred delegates for both the workspace &lt;span style="font-style: italic;"&gt;AND&lt;/span&gt; for individual launch configurations&lt;/li&gt;&lt;/ol&gt;So basicallly we have made a tonne of changes that 99% of normal users will never see, because it all appears to work the same on top. Making improvements noone ever sees or cares about rules.&lt;br /&gt;&lt;br /&gt;There is some more information and a test plugin available from the debug team webpage&lt;br /&gt;here: http://www.eclipse.org/eclipse/debug/documents.php.&lt;br /&gt;&lt;br /&gt;Oh and here is a screenshot showing the launch dialog opened with more that one launcher available and some contributed tabs added after the Main tab:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/x/blogger/2153/3216/1600/950505/lcd.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/x/blogger/2153/3216/320/790177/lcd.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30049963-116542352880218424?l=eclipse-debug.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eclipse-debug.blogspot.com/feeds/116542352880218424/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=30049963&amp;postID=116542352880218424' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30049963/posts/default/116542352880218424'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30049963/posts/default/116542352880218424'/><link rel='alternate' type='text/html' href='http://eclipse-debug.blogspot.com/2006/12/mixed-up-launching.html' title='Mixed-up Launching'/><author><name>Mike</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30049963.post-115919843066001952</id><published>2006-09-25T10:24:00.000-05:00</published><updated>2006-09-25T23:13:11.066-05:00</updated><title type='text'>Terminate Key Binding Requests (please)</title><content type='html'>The platform is running low on available key-bindings. So, we've decided to add one final key-binding for the debugger's terminate action. The action has been mapped to "CTRL-F2". If you can figure out how to use the key binding preference page, feel free to change it.&lt;br /&gt;&lt;br /&gt;We've also fixed a small bug in the Debug view context menu. Key-bindings are once again displayed for the standard step commands in the context menu (when you are debugging). During 3.2, the actions were all changed from view contributions to being contributed by actual code. When we did this, we forgot to assign action definition id's in the code. Woops. Fixed now.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30049963-115919843066001952?l=eclipse-debug.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eclipse-debug.blogspot.com/feeds/115919843066001952/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=30049963&amp;postID=115919843066001952' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30049963/posts/default/115919843066001952'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30049963/posts/default/115919843066001952'/><link rel='alternate' type='text/html' href='http://eclipse-debug.blogspot.com/2006/09/terminate-key-binding-requests-please.html' title='Terminate Key Binding Requests (please)'/><author><name>Darin</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30049963.post-115869960567955027</id><published>2006-09-19T15:50:00.000-05:00</published><updated>2006-09-19T16:00:05.726-05:00</updated><title type='text'>Painfully Fast (Now)</title><content type='html'>Today the debug team revels in its own greatness...Ok we didn't actually fix anything, but we did find out that a bug that was a critical stop ship for us was not at all our fault AND someone had already fixed it (I love those ones).&lt;br /&gt;&lt;br /&gt;The bug in question is https://bugs.eclipse.org/bugs/show_bug.cgi?id=153458, and long story short, has to do with the apparent 'extreme slow down' of the eclipse debuger. It turns out (as the previous comment dictates) that it was not our fault; it was really a combination of factors...but mainly the new conjestion algorithm in the newer Linux kernels (&gt; 2.6.14). Luckily though the kernel champions jumped on it and bullied Sun into fixing the way jvms communicate over TCP/IP.&lt;br /&gt;&lt;br /&gt;To summarize:&lt;br /&gt;If you have a newer Linux kernel (&gt; 2.6.14) and you are NOT using jdk 1.5.08 or jdk 1.6 r79 you are boned, and doomed to have a matrix-neo-style debugging experience.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30049963-115869960567955027?l=eclipse-debug.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eclipse-debug.blogspot.com/feeds/115869960567955027/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=30049963&amp;postID=115869960567955027' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30049963/posts/default/115869960567955027'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30049963/posts/default/115869960567955027'/><link rel='alternate' type='text/html' href='http://eclipse-debug.blogspot.com/2006/09/painfully-fast-now.html' title='Painfully Fast (Now)'/><author><name>Mike</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30049963.post-115688771388129766</id><published>2006-08-29T16:25:00.000-05:00</published><updated>2006-08-29T18:21:50.143-05:00</updated><title type='text'>A Whole Lotta' Instances</title><content type='html'>A first draft of another one of the new Java SE 1.6 features is out and ready to be played with. Much like the other feature (All References), All Instances works in pretty much the same way. You can right-click on a variable and select the All Instances... menu item, and before you know it WHAM, you see a popup showing you all of the instances of the selected object in the current VM. Isn't that dandy.&lt;br /&gt;&lt;br /&gt;Much like it's companion All References, you of course need a Java SE 1.6 VM to use this feature, and you must be debugging at the time (i.e. have variables in the variables view). There are plans in the mix to expand its availabilty to the Outline View and to a context menu in the java editor....we shall see.&lt;br /&gt;&lt;br /&gt;The first image below shows the location of the new action, and in this case we have selected a string, which will result in a popup showing all of the instances of type String in the current VM.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;img style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://photos1.blogger.com/blogger/2153/3216/320/AImenuItem.png" border="0" /&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;This next image shows the resulting popup (yes it is the inspect popup) telling us that there are 769 instances of String in the current VM. Allow me to say again, dandy.&lt;/p&gt;&lt;p&gt;&lt;img style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://photos1.blogger.com/blogger/2153/3216/320/AIpopup.png" border="0" /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;To try out this...dare I say again...dandy new feature, you will have to wait until the next build or grab the source from HEAD.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30049963-115688771388129766?l=eclipse-debug.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eclipse-debug.blogspot.com/feeds/115688771388129766/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=30049963&amp;postID=115688771388129766' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30049963/posts/default/115688771388129766'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30049963/posts/default/115688771388129766'/><link rel='alternate' type='text/html' href='http://eclipse-debug.blogspot.com/2006/08/whole-lotta-instances.html' title='A Whole Lotta&apos; Instances'/><author><name>Mike</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30049963.post-115514631758927491</id><published>2006-08-09T12:55:00.000-05:00</published><updated>2006-08-09T12:58:37.600-05:00</updated><title type='text'>Browse All References (J2SE 6 only)</title><content type='html'>If you're running your Java application with a J2SE 6 virtual machine, you can browse all references to an object in the variables view. Select any object in the variables view, and choose &lt;strong&gt;All References&lt;/strong&gt; from the context menu. A pop-up displays all objects referring to the selected object. You can expand each node in the tree to follow references to each object. You can inspect any object in the reference tree by selecting it and pressing &lt;strong&gt;Ctrl+Shift+I&lt;/strong&gt;. This opens an inspect pop-up displaying the object's fields.&lt;br /&gt;&lt;br /&gt;This feature is available in the latest integration build and forthcoming 3.3M1 build. It's our first cut of the feature, so feedback and comments are welcome.&lt;br /&gt;&lt;br /&gt;&lt;img style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://photos1.blogger.com/blogger/1891/3216/320/all-refs.1.png" border="0" /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30049963-115514631758927491?l=eclipse-debug.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eclipse-debug.blogspot.com/feeds/115514631758927491/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=30049963&amp;postID=115514631758927491' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30049963/posts/default/115514631758927491'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30049963/posts/default/115514631758927491'/><link rel='alternate' type='text/html' href='http://eclipse-debug.blogspot.com/2006/08/browse-all-references-j2se-6-only.html' title='Browse All References (J2SE 6 only)'/><author><name>Darin</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30049963.post-115455534907667738</id><published>2006-08-02T16:31:00.000-05:00</published><updated>2006-08-02T16:49:09.166-05:00</updated><title type='text'>Let the pain slip away</title><content type='html'>Seeing as how I seem to be in such a blog-tastic mood....the debug team has provided another fix to try and lower the overall frustration of level of at least a few people.&lt;br /&gt;&lt;br /&gt;Have you ever been nailed by the "java.lang.UnsupportedClassVersionError: foo (Unsupported major.minor version 49.0)" error? If you have this applies to you.&lt;br /&gt;&lt;br /&gt;In an effort to make life a little less painful, we now do compliance checking in the JRE preference page and in the launch configuration dialog. So if you change your default JRE  to be lower than the compiler compliance level you get a nice warning and a link back to the compiler page to change the compliance level.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/2153/3216/1600/prefpage.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/blogger/2153/3216/320/prefpage.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Alternatively in the launch configuration dialog compliance issues are treated as errors (since you can't launch anyway) and you see the nice angry error message.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/2153/3216/1600/lcd.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/blogger/2153/3216/320/lcd.png" alt="" border="0" /&gt;&lt;/a&gt;Just like the previous breakpoint axesomeness, you will have to wait until tomorrows build to try it out...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30049963-115455534907667738?l=eclipse-debug.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eclipse-debug.blogspot.com/feeds/115455534907667738/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=30049963&amp;postID=115455534907667738' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30049963/posts/default/115455534907667738'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30049963/posts/default/115455534907667738'/><link rel='alternate' type='text/html' href='http://eclipse-debug.blogspot.com/2006/08/let-pain-slip-away.html' title='Let the pain slip away'/><author><name>Mike</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30049963.post-115453968295032521</id><published>2006-08-02T12:10:00.000-05:00</published><updated>2006-08-02T16:26:49.210-05:00</updated><title type='text'>Breakpoints are Axesome</title><content type='html'>Everyone loves breakpoints. Why else would you debug if you did not want to use breakpoints?&lt;br /&gt;That being said, this last week we refactored alot of our breakpoints code to make it better all around and to add some new features.&lt;br /&gt;&lt;br /&gt;For example:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;If you use the shortcut Ctrl+Shift+B, you will get the correct kind of breakpoint (instead of just a line breakpoint)&lt;/li&gt;&lt;li&gt;Added new Run menu item "Toggle Breakpoint" which is now bound to the Ctrl+Shift+B shortcut (which also retargets the command to create the proper breakpoint, see point 1 above)&lt;/li&gt;&lt;li&gt;You can toggle Class Load breakpoints like other breakpoints (using the shortcut, double clicking on the ruler, or using the Run-&gt;Toggle Breakpoint menu)&lt;/li&gt;&lt;li&gt;That slight flicker in the breakpoints view when you create method breakpoints or watchpoints is gone.&lt;/li&gt;&lt;li&gt;Improved menu population/enablement for toggle breakpoints actions in the Run menu, Outline View and the Variables View.&lt;/li&gt;&lt;/ol&gt;Here is a screen shot of the new Run menu item.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/2153/3216/1600/new_menu_item.0.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/blogger/2153/3216/320/new_menu_item.0.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;All this breakpoints goodness will be available after tomorrows build...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30049963-115453968295032521?l=eclipse-debug.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eclipse-debug.blogspot.com/feeds/115453968295032521/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=30049963&amp;postID=115453968295032521' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30049963/posts/default/115453968295032521'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30049963/posts/default/115453968295032521'/><link rel='alternate' type='text/html' href='http://eclipse-debug.blogspot.com/2006/08/breakpoints-are-axesome.html' title='Breakpoints are Axesome'/><author><name>Mike</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30049963.post-115134911465305789</id><published>2006-06-26T14:01:00.000-05:00</published><updated>2006-08-02T12:35:16.010-05:00</updated><title type='text'>What can your VM do for you?</title><content type='html'>This week is busy like all the rest. Following the trend of adding in new features all the time, here is another interesting one for you. You can now check the capabilities of the VM used to launch a program by inspecting the properties of any Java debug element in the Debug View (to do so right-click on the element in the view and click the 'Properties...' menu item).&lt;br /&gt;&lt;br /&gt;The properties dialog is the same one as before, which contains the process information, but now also the VM capabilities (as long as the target is not terminated or disconnected). You can even expand or collapse items on the page depending on what you want to see, and the page will remember that setting for the next time you open the dialog to view capabilities.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/2153/3216/1600/proppage3s.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; cursor: pointer; text-align: center;" alt="" src="http://photos1.blogger.com/blogger/2153/3216/320/proppage3s.png" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;So if you were always wondering "hmm can my VM do that?" now you can check for yourself. To use this latest feature you will need to wait for this weeks I-build, or for tomorrows N-build.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30049963-115134911465305789?l=eclipse-debug.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eclipse-debug.blogspot.com/feeds/115134911465305789/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=30049963&amp;postID=115134911465305789' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30049963/posts/default/115134911465305789'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30049963/posts/default/115134911465305789'/><link rel='alternate' type='text/html' href='http://eclipse-debug.blogspot.com/2006/06/what-can-your-vm-do-for-you.html' title='What can your VM do for you?'/><author><name>Mike</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30049963.post-115134835626416613</id><published>2006-06-26T13:51:00.000-05:00</published><updated>2006-12-12T15:28:40.346-06:00</updated><title type='text'>Can I launch my launch from the launch shortcut?</title><content type='html'>Last week was very busy for the Debug team. Along with the addition of the new formatting feature for Stack Trace Console, we also added a new feature which allows users to directly run a shared launch configuration using the context Run As... menu and selecting the launch itself.&lt;br /&gt;&lt;br /&gt;No  more fussing with the launch configuration dialog to run shared configurations (unless you like  needless work) YAY.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/2153/3216/1600/launching.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/blogger/2153/3216/320/launching.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;You will have to wait until this weeks I-build, or grab an N-build from any time after last thursday to check it out.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30049963-115134835626416613?l=eclipse-debug.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eclipse-debug.blogspot.com/feeds/115134835626416613/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=30049963&amp;postID=115134835626416613' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30049963/posts/default/115134835626416613'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30049963/posts/default/115134835626416613'/><link rel='alternate' type='text/html' href='http://eclipse-debug.blogspot.com/2006/06/can-i-launch-my-launch-from-launch.html' title='Can I launch my launch from the launch shortcut?'/><author><name>Mike</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30049963.post-115092348836271773</id><published>2006-06-21T15:49:00.000-05:00</published><updated>2006-08-02T12:37:44.460-05:00</updated><title type='text'>Kevin's formatting magic</title><content type='html'>We added a new feature to the Java Stack Trace Console this week. It will now format your stack traces for you automatically when ever you paste them into the console if you desire. You'll have to download this weeks Integration build to try it out.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/6345/1234/1600/console.png"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://photos1.blogger.com/blogger/6345/1234/320/console.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30049963-115092348836271773?l=eclipse-debug.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eclipse-debug.blogspot.com/feeds/115092348836271773/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=30049963&amp;postID=115092348836271773' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30049963/posts/default/115092348836271773'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30049963/posts/default/115092348836271773'/><link rel='alternate' type='text/html' href='http://eclipse-debug.blogspot.com/2006/06/kevins-formatting-magic.html' title='Kevin&apos;s formatting magic'/><author><name>Kevin</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
