View live references with Eclipse 3.3M1 and Java 6 (Mustang)

It's been 6 weeks since the Eclipse SDK 3.2 release which means it's time for the first 3.3 milestone. One of the coolest new features is a way to browse live object references in Java programs. The Mac and Linux platforms also received some important updates.
Written by Ed Burnette, Contributor

It's been 6 weeks since the Eclipse SDK 3.2 release which means it's time for the first 3.3 milestone -- 3.3M1. Here are some of the most significant new features:

Browse live object references

When debugging a Java program (under Java 6.0 or later) you can now find all the objects that are referencing your object, and all the objects referencing those, and so on. Just right click on the object in the Variables view and select All References. A pop-up window will show all objects currently referring to the selected object. You can expand each node and follow references to each object, or press Ctrl+Shift+I to inspect any of those object's fields.

Mac support 

You can now place icons in the Mac OS X status bar. The same code run on Windows will place those icons in the system tray.  
OSX Tray

Linux support

Printing is finally enabled on GTK+ 2.10 or later. A number of problems with the browser have been fixed such as the inability to display https pages, and browser support has been added for the PowerPC architecture (GTK+). Also the native GtkComboBox is used instead of an emulated one if you have GTK+ 2.4 or newer.


Typically the first milestone contains a lot of bug fixes or features that the developers already had coded for the last production release but were deemed a little too large to include at the last minute. So as soon as the source repository for 3.3 was available (this actually started before 3.2 came out), the fixes and new features started to flood in.

Many of the true fixes (for things like crashes) will be backported into the 3.2.1 maintenance release, due out in late September. For the rest of the goodies, you'll have to use the 3.3 milestones. Of course, milestones are less stable and supported than production releases but they are generally pretty good, equivalent to what most products would call "beta". But unlike most products, milestones happen all througout the development cycle, not just at the end. Check out some of my articles on "The Eclipse Way" for the reasons behind that.

Mustang (Java SE 6) is currently in its second beta, and is scheduled for final release in late October. 


Editorial standards