Sun and Oracle Community Voices How to Buy Log In United States [Change] English

»  Spotlight Articles
»  Projects
»  Publications
»  People
»  Awards
»  Events
»  Downloads
»  Internships
»  Contrarian Minds
»  About Sun Labs
Project Guest VM: Debugging

Project Guest VM: Debugging

Introduction

Currently, Maxine does not support the standard Java debugging API that is used by IDEs such as Eclipse. Therefore, high-level debugging is limited to "print" statements.

Two mechanisms for low-level debugging are available. The first is the tracing mechanism built into the GUK microkernel, and the second is the Maxine inspector which is a GUI-based interactive debugger that is specialized for debugging the Maxine VM. While not ideal for application debugging, the Maxine inspector can be used to debug applications, since it provides symbolic access to Java classes and methods and can display objects.

Running the Maxine Inspector

Recall that the Inspector must run in a Linux domain. When running a Linux dom0, it suffices to run the Inspector as a process in dom0, which finesses the inter-domain privilege issue.

When running Solaris xVM you must build and install a modified version of Xen that allows one domU to access the state of another domU. Contact the project maintainer for details.

In a conventional OS environment, the Inspector creates the debuggee target process. On Guest VM the debuggee target must be started separately in debug mode using the -d option to the run script

The Inspector can be run with the runins script. By default it puts up a dialog box requesting the domain id of the target Guest VM domain to be inspected. The id is displayed by Guest VM when it is started in debug mode. Alternatively, the domain id can be be specified as an argument to the runins script using the -id option. Note that there is no way to connect to a running Guest VM domain that was not started in debug mode.

See the tutorial on how to use the Maxine inspector.

Limitations

There are no limitations in the current release.