Java Debugger Interfaces |
![]() Previous |
![]() Virtual Machine |
![]() Next |
Use these interfaces to manage execution.
Provides access to call stacks within the threads of the debuggee. Each stack frame represents the state of execution within a method.
HRESULT GetCallingFrame(IRemoteStackFrame **ppCallingFrame)
Parameter Description [out] ppCallingFrame Returns the frame representing the caller of this method.
HRESULT GetMethodObject(IRemoteContainerObject **ppMethodObject)
Parameter Description [out] ppMethodObject Returns the instance of the method object
HRESULT GetPC(UINT *offPC)
Parameter Description [out] offPC Returns the byte offset from the start of this method of the next instruction to be executed.
HRESULT SetPC(UINT offPC)
Parameter Description [in] offPC Sets the byte offset from the start of this method of the next instruction to be executed.
HRESULT GetKind(FRAMEKIND *pfk)
Parameter Description [out] pfk Returns the kind of this stack frame. typedef enum framekind { FRAME_KIND_INVALID = 0x00, FRAME_KIND_INTERPRETED = 0x01, FRAME_KIND_NATIVE = 0x02, FRAME_KIND_JIT_COMPILED = 0x03 } FRAMEKIND;
Provides access to thread groups.
HRESULT GetName(LPOLESTR *ppszName)
Parameter Description [out] ppszName Returns the name of this thread group.
HRESULT GetThreads(IEnumRemoteThread **ppEnum)
Parameter Description [out] ppEnum Returns an enumerator for the threads in this thread group.
HRESULT GetThreadGroups(IEnumRemoteThreadGroup **ppEnum)
Parameter Description [out] ppEnum Returns an enumerator for the thread groups in this thread group.
Enumerates threads.
HRESULT Next(ULONG celt, IRemoteThread *rgelt[], ULONG *pceltFetched)
HRESULT Skip(ULONG celt)
HRESULT Reset(void)
HRESULT Clone(IEnumRemoteThread **ppEnum)
Enumerates thread groups.
HRESULT Next(ULONG celt, IRemoteThreadGroup *rgelt[], ULONG *pceltFetched)
HRESULT Skip(ULONG celt)
HRESULT Reset(void)
HRESULT Clone(IEnumRemoteThreadGroup **ppEnum)
Provides access to threads.
HRESULT GetName(LPOLESTR *ppszName)
Parameter Description [out] ppszName Returns the name of this thread.
HRESULT GetCurrentFrame(IRemoteStackFrame **ppCurrentFrame)
Parameter Description [out] ppCurrentFrame Returns the currently executing stack frame on this thread.
HRESULT GetThreadGroup(IRemoteThreadGroup **ppThreadGroup)
Parameter Description [out] ppThreadGroup Returns the thread group that contains this thread.
HRESULT Go(void)Continues execution of this thread. This call returns immediately.
HRESULT Step(void)Steps a single instruction of bytecode. This call steps over method calls. It returns immediately. The StepEvent method is called when the execution is complete.
HRESULT StepIn(void)Steps over a single bytecode instruction. This call steps into method calls. It returns immediately. The StepEvent method is called when the execution is complete.
HRESULT StepOut(void)Continues execution until the end of the current method. The next instruction to be executed is the first instruction after the call in the calling method. This call returns immediately. The StepEvent method is called when the execution is complete.
HRESULT RangeStep(UINT offStart, UINT offEnd)Continually steps until the PC is outside the given range. This call steps over method calls. The StepEvent method is called when the execution is complete.
Parameter Description [in] offStart, offEnd Start and end byte offsets from the beginning of the current method.
HRESULT RangeStepIn(UINT offStart, UINT offEnd)Continually steps until the PC is outside the given range. This call steps into method calls and calls StepEvent at the first instruction of the stepped-into method. If the debugger returns S_FALSE from StepEvent, then the VM continues executing to the end of this method, and continues executing within the given range. This call returns immediately. The StepEvent method is called when the execution is complete.
Parameter Description [in] offStart, offEnd Start and end byte offsets from the beginning of the current method.
HRESULT Destroy(void)Destroys this thread. The ThreadDestroyEvent method is called when the operation is complete.
HRESULT Suspend(void)Suspends execution of this thread.
HRESULT Resume(void)Resumes execution of this thread.
HRESULT GetSuspendCount(ULONG *pcSuspend)
Parameter Description [out] pcSuspend Returns this thread's current suspend count.