Working with MS VM
 
 

Microsoft VM     VM Next
Java Language Debug Interfaces     VM Next

 

Java Language Debug Reference Overview

This topic provides details about registration, notification, static information, and dynamic information interfaces.

Registration Interfaces

Use these interfaces to register Java classes for debugging and to receive notification when new Java processes are created.

Notification Interfaces

These interfaces are implemented by the debugger and are used to notify the debugger when new Java processes are created and when events occur on a specific Java process.

Static Information Interfaces

Static information on a Java process is available through the IRemoteField hierarchy of interfaces. These interfaces represent fields that are members of classes. These fields can be methods, objects, inner classes, or nested class definitions. Because all the attributes of a field are constant during its lifetime, this information can be cached by the debugger.

The static information interfaces consist primarily of the IRemoteField interface and a collection of other interfaces designed for a specific Java object (primitive data types, arrays, classes, methods, and so on) that inherit from IRemoteField or from other interfaces that extend IRemoteField.

Dynamic Information Interfaces

Dynamic information on a Java process is available through the IRemoteObject hierarchy of interfaces. These interfaces provide bound access to objects of different types. An object does not necessarily refer to an instance of a class, but represents an instance of any type. The information obtained from an IRemoteObject is only valid during the lifetime of the actual object that it represents. Consequently, dynamic information cannot be cached by the debugger.

Access to dynamic information in a Java process is based on using the IRemoteThreadGroup and IRemoteThread passed on each ThreadGroupCreateEvent and ThreadCreateEvent notification to the debugger. The IRemoteProcess:GetGlobalContainerObject method can also be used to access the root of this object hierarchy and descend down it to retrieve IRemoteClassField objects.

The dynamic information interfaces consist primarily of IRemoteObject, IRemoteObjectEx, IEnumRemoteObject, the IEnumRemoteValue interfaces, and a collection of other interfaces designed for a specific Java object (primitive data types, arrays, or classes) that inherit from IRemoteObject or IEnumRemoteValue.

Top © 1998 Microsoft Corporation. All rights reserved. Terms of use.