Title
Multi-level virtual machine debugging using the java platform debugger architecture
Abstract
Debugging virtual machines (VMs) presents unique challenges, especially meta-circular VMs, which are written in the same language they implement. Making sense of runtime state for such VMs requires insight and interaction at multiple levels of abstraction simultaneously. For example, debugging a Java VM written in Java requires understanding execution state at the source code, bytecode and machine code levels. However, the standard debugging interface for Java, which has a platform-independent execution model, is itself platform-independent. By definition, such an interface provides no access to platform-specific details such as machine code state, stack and register values. Debuggers for low-level languages such as C and C++, on the other hand, have direct access only to low-level information from which they must synthesize higher-level views of execution state. An ideal debugger for a meta-circular VM would be a hybrid: one that uses standard platform-independent debugger interfaces but which also interacts with the execution environment in terms of low-level, platform-dependent state. This paper presents such a hybrid architecture for the meta-circular Maxine VM. This architecture adopts unchanged a standard debugging interface, the Java Platform Debugger Architecture (JPDA), in combination with the highly extensible NetBeans Integrated Development Environment. Using an extension point within the interface, additional machine-level information can be exchanged between a specialized server associated with the VM and plug-in extensions within NetBeans.
Year
DOI
Venue
2009
10.1007/978-3-642-11486-1_34
Ershov Memorial Conference
Keywords
Field
DocType
execution state,java platform debugger architecture,meta-circular maxine vm,machine code state,runtime state,multi-level virtual machine,java vm,meta-circular vm,execution environment,platform-dependent state,standard debugging interface,source code,virtual machine
Programming language,Debugger,Source code,Computer science,Machine code,Execution model,Program animation,Bytecode,Java,Operating system,Debugging
Conference
Volume
ISSN
ISBN
5947
0302-9743
3-642-11485-7
Citations 
PageRank 
References 
2
0.38
5
Authors
3
Name
Order
Citations
PageRank
Thomas Würthinger139625.63
Michael L. Van De Vanter218718.58
Doug Simon317116.15