Jump to: navigation, search

MemoryAnalyzer/Contributor Reference

Getting Started

Similar to Mylyn/Contributor Reference this page is meant to help you contribute to the Memory Analyzer project.



Install Eclipse and configure it to develop Java 5 applications.

  • We usually use the latest milestone build from the 3.4 train. However, as of today, a 3.3er release works just as well.
  • Install BIRT via the Update Manager: Help -> Software Updates... and select the Update Site appropriate for your release (e.g. Europa Discovery Site)
    • While working with the 3.4 release candidates, I found the following approach the simplest: download the appropriate milestone/release candidate build plus all requirements from BIRT's Recent Build Page and unzip 'em into the dropins folder: Chart Engine, DTP, EMF+XSD, GEF Runtime
  • Install the Subversion Team Provider
  • We use this code formatter template


As the project is still in incubation, you'll find only the trunk code line. Check out the projects by saving mat.psf file locally, and then using File -> Import -> Team Project Set. Use user name "anonymous" and an empty password.

More infos: SVN_Howto, Web Access

Launch Configuration

Launch the Memory Analyzer as stand-alone RCP:

  • Create a new Eclipse Application configuration
  • Run a product: org.eclipse.mat.ui.rcp.MemoryAnalyzer
  • Launch with: plug-ins selected below only
    • Deselect org.eclipse.mat.tests
    • Deselect Target Platform and click Add Required Plug-ins
    • Select org.eclipse.pde.runtime (3.3) or org.eclipse.ui.views.log (3.4) to include the Error Log

or as feature plugged into the IDE:

  • Create a new Eclipse Application configuration
  • Run a product: org.eclipse.sdk.ide
  • Launch with: plug-ins selected below only
    • Deselect org.eclipse.mat.tests and org.eclipse.mat.ui.rcp

JUnit Tests

The unit tests a placed in the org.eclipse.mat.tests project. Execute the tests by right-clicking on the project and choose Run As... -> JUnit Plug-in Test.

Ideas for Contributions

This is an initial list of ideas. If you are missing a feature and have some time to contribute, please do not hesitate to contact us.

  • Application Knowledge: Name/Request Resolvers for major open source projects: Glassfish, JBoss, Jetty, Tomcat ...
  • Open Java Source file via context menu of a class
  • Check WeakHashMaps: find those where the value references the key and hence prevents garbage collection
  • Documentation and Unit Tests (pretty lame, but much appreciated!)