Java Debugger Interfaces |
![]() Previous |
![]() Virtual Machine |
![]() Next |
Use these interfaces to retrieve information about objects.
The IRemoteObject hierarchy provides bound access to objects of different types. "Object" does not necessarily refer to an instance of a class; it refers to an instance of any type. The information obtained from an IRemoteObject is valid only during the lifetime of the actual object that it represents.
HRESULT GetType(IRemoteField **ppType)Calls to GetType for two objects of the same type in the same namespace will return an address of the same IRemoteField object, thus enabling the debugger to cache type information.
Parameter Description [out] ppType Returns the type of this object.
HRESULT SetBreakpoint(void)Sets a data breakpoint on the object. The breakpoint will fire when the object's value changes. For arrays, this is when any of its elements change. For classes, it is either when the object references a different instance of that class, or when any of the instance's data members change.
HRESULT ClearBreakpoint(void)Clears a data breakpoint on the object.
Provides run-time access to the value of a Boolean variable.
HRESULT GetValue(JAVA_BOOLEAN *pvalue)
HRESULT SetValue(JAVA_BOOLEAN value)
IRemoteByteObject : IRemoteObject IRemoteCharObject : IRemoteObject IRemoteDoubleObject : IRemoteObject IRemoteFloatObject : IRemoteObject IRemoteIntObject : IRemoteObject IRemoteLongObject : IRemoteObject IRemoteShortObject : IRemoteObject
Each of the preceding interfaces contains type-safe methods for getting and setting the values of objects of built-in types. They follow the same pattern as the IRemoteBooleanObject interface.
// // Java primitive types // typedef unsigned char JAVA_BOOLEAN; typedef signed char JAVA_BYTE; typedef unsigned short JAVA_CHAR; typedef double JAVA_DOUBLE; typedef float JAVA_FLOAT; typedef signed long JAVA_INT; typedef signed __int64 JAVA_LONG; typedef signed short JAVA_SHORT;
Provides access to array objects.
HRESULT GetElementObjects(IEnumRemoteObject **ppEnum)
Parameter Description [out] ppEnum Returns an enumerator for the elements of this array, starting at index 0.
HRESULT GetSize(ULONG *pcElements)
Parameter Description [out] pcElements Returns the number of elements in the array.
HRESULT GetElementValues(IEnumRemoteValue **ppEnum)
Parameter Description [out] ppEnum Returns an enumerator for the values of the elements of this array, starting at index 0.
Enumerates objects.
HRESULT Next(ULONG celt, IRemoteObject *rgelt[], ULONG *pceltFetched)
HRESULT Skip(ULONG celt)
HRESULT Reset(void)
HRESULT Clone(IEnumRemoteObject **ppEnum)
HRESULT GetCount(ULONG *pcelt)
Parameter Description [out] pcelt Returns the number of elements available through this enumerator.
Enumerates values.
HRESULT Skip(ULONG celt)
HRESULT Reset(void)
HRESULT Clone(IEnumRemoteObject **ppEnum)
HRESULT GetCount(ULONG *pcelt)
Parameter Description [out] pcelt Returns the number of elements available through this enumerator.
Enumerates Boolean values.
HRESULT Next(ULONG celt, JAVA_BOOLEAN rgelt[], ULONG *pceltFetched)
IEnumRemoteByteValue : IEnumRemoteValue IEnumRemoteCharValue : IEnumRemoteValue IEnumRemoteDoubleValue : IEnumRemoteValue IEnumRemoteFloatValue : IEnumRemoteValue IEnumRemoteIntValue : IEnumRemoteValue IEnumRemoteLongValue : IEnumRemoteValue IEnumRemoteShortValue : IEnumRemoteValue
Each of the preceding interfaces contains type-safe methods for enumerating values of built-in types. They follow the same pattern as the IEnumRemoteBooleanValue interface.
Provides access to container objects (FIELD_KIND_METHOD or FIELD_KIND_CLASS).
HRESULT GetFieldObject(IRemoteField *pField, IRemoteObject **ppFieldObject)Takes a field of this object's class and returns the instance of that field within the object. The IRemoteField interface is in no way bound to the instance of the object. In fact, you can use the same IRemoteField interface to extract the value of that field from many different IRemoteContainerObject interfaces in the same namespace.
Parameter Description [in] pField Field to retrieve from this object. [out] ppFieldObject Returns the object contained in this object's field.
Provides access to class objects.
HRESULT GetDerivedMostType (IRemoteClassField **ppDerivedMostField)
Parameter Description [out] ppDerivedMostField Returns the class field representing the object's derived-most type.