|
Maxine Inspector: OverviewThe Maxine Inspector is a all-in-one tool that is specialized to support development of the Maxine Virtual Machine, a new meta-circular VM for experimentation and fast prototyping. The Maxine Inspector plays many roles:
This short (5 minute) video describes the goals of the inspector and highlights some of the ways in which it makes Maxine VM development highly productive. More discussion and more detailed documentation follows below. Downloading and BuildingBoth the Maxine VM and Inspector can be downloaded, built, and run in most Java Interactive Development Environments. In the instructions for building and running Maxine you will also find instructions for running the Maxine Inspector. Background and RationaleDebugging virtual machines (VMs) presents unique challenges, expecially for a meta-circular VM such as Maxine, which is written in the same language it implements. Making sense of Maxine's runtime state requires interaction simultaneously at the source, bytecode, and machine code abstraction levels, and it must leverage deep knowledge of the VM's design. Specific issues include:
The Maxine Inspector addreses these concerns, supporting comprehensive inspection and interactionat all program representation levels. Furthermore, the Inspector's design exploits the fact that it is implemented in the same language that the VM implements and is implemented in; this gives rise to many unavailable code reuse opportunities. For example, the same mechanisms used by the VM's binary image generator, which allow the creation of objects in the binary runtime format for a potentially different platform, can be used by the Inspector to examine binary runtime state for a potentially different platform than the Inspector's host. An Introduction to Maxine Inspector FeaturesThe following pages, which include screen snapshots and selected short video demonstrations, present more detail about specific features of the Maxine Inspector. These pages have navigational links that make it possible to take a tour through them from beginning to end.
Finally, please note that the Inspector is very much a work in progress, as is the Maxine VM itself. The two have co-evolved and will continue to do so as the design of the VM matures and the concerns of the developers expand. Functionality is constantly being improved and extended, so there are already places where the current system differs from what you will find here. Last modified: Tue Jun 30 11:31:40 PDT 2009 by Michael Van De Vanter | ||||||||||||||||||||||