Java Debugger Interfaces |
![]() Previous |
![]() Virtual Machine |
![]() Next |
Use these interfaces to register namespaces for debugging and to receive notification of new namespaces.
Provides access to all currently running namespaces. Also provides a way to debug new namespaces.
HRESULT RegisterCallback(IRemoteDebugManagerCallback *pCallback)
Parameter Description [in] pCallback Callback that should receive notification about new namespace creations.
HRESULT Detach(void)Detaches the IRemoteDebugManagerCallback attached by the previous call to RegisterCallback.
HRESULT GetActiveProcesses(IEnumRemoteProcess **ppEnum)
Parameter Description [out] ppEnum Returns an enumerator for all the currently running namespaces in the system.
HRESULT RequestCreateEvent(LPCOLESTR pcszProcessName, DWORD dwParentProcessId)Notifies the debug manager that the debugger is interested in debugging the named applet when it is run in the given host Microsoft® Win32® process.
Parameter Description [in] pcszProcessName Name of the applet class to debug. [in] dwParentProcessId Win32 process ID of the process that the applet will be run in.
Enumerates running namespaces.
HRESULT Next(ULONG celt, IRemoteProcess *rgelt[], ULONG *pceltFetched)
HRESULT Skip(ULONG celt)
HRESULT Reset(void)
HRESULT Clone(IEnumRemoteProcess **ppEnum)
Notifies the debugger about requested new namespace creations.
HRESULT ProcessCreateEvent(IRemoteProcess *pProcessNew, IRemoteProcess *pProcessParent)This notification is sent when a new namespace is being created. The pProcessParent parameter is NULL if the namespace is not being created as the child of another namespace.
Parameter Description [in] pProcessNew Namespace being created. [in] pProcessParent Namespace that caused the new namespace to be created.
Represents a single Java namespace running within a Java VM. Note that it does not represent the operating system process that the Java VM is being run in.
HRESULT RegisterCallback(IRemoteProcessCallback *pCallback)Tells the namespace that it is being debugged, and provides a callback that is to receive debug event notifications.
Parameter Description [in] pCallback Address of the interface that is to receive notifications for this namespace.
HRESULT Detach(void)Detaches the IRemoteProcessCallback registered by the previous call to RegisterProcess.
HRESULT Break(void)Performs an asynchronous break on all threads in this namespace. All threads will be stopped in break state. This is an asynchronous function call.
HRESULT GetGlobalContainerObject(IRemoteContainerObject **ppGlobalContainerObject)
Parameter Description [out] ppGlobalContainerObject Returns the global object for this namespace.
HRESULT FindClass(LPCOLESTR pcszClassName, IRemoteClassField **ppClassType)
Parameter Description [in] pcszClassName Name of the class to find. [out] ppClassType Returns the specified class. If the class is not already loaded in the namespace, it is loaded.
HRESULT TraceMethods(BOOL bTraceOn)When method call tracing is on, each method call generates a call to IRemoteProcessCallback::TraceEvent.
Parameter Description [in] bTraceOn Set to TRUE to enable method call tracing, or FALSE to disable method call tracing.
HRESULT GetThreadGroups(IEnumRemoteThreadGroup **ppEnum)
Parameter Description [out] ppEnum Returns an enumerator for the thread groups in the namespace.
Communicates asynchronous notifications from the Java VM to the debugger. No debuggee execution occurs during the handling of these events. The debugger returns S_OK to leave execution suspended in the source namespace, or S_FALSE to continue execution in the source namespace. The pThread input argument to each event notification method is a thread object that represents the thread that generated the event.
HRESULT DebugStringEvent(IRemoteThread *pThread, LPCOLESTR pcszDebugString)Notification sent when the debuggee outputs a string.
Parameter Description [in] pcszDebugString String from the debuggee.
HRESULT CodeBreakpointEvent(IRemoteThread *pThread)Notification sent when a code breakpoint has been hit in the debugger.
HRESULT DataBreakpointEvent(IRemoteThread *pThread, IRemoteObject *pObject)Notification sent when a data breakpoint has been hit in the debugger.
Parameter Description [in] pObject Object that changed to cause the breakpoint to be triggered.
HRESULT ExceptionEvent(IRemoteThread *pThread, IRemoteClassField *pExceptionClass, EXCEPTIONKIND exceptionKind)Notification sent when an exception occurs.
Parameter Description [in] pExceptionClass Class of the thrown object. [in] exceptionKind Kind of exception that occurred. typedef enum exceptionkind { EXCEPTION_KIND_FIRST_CHANCE = 0x01, EXCEPTION_KIND_LAST_CHANCE = 0x02, } EXCEPTIONKIND;
HRESULT StepEvent(IRemoteThread *pThread)Notification sent when an execution step completes.
HRESULT CanStopEvent(IRemoteThread *pThread)Notification sent during a range step when the debuggee makes a function call.
HRESULT BreakEvent(IRemoteThread *pThread)Notification sent when an asynchronous break occurs in response to IRemoteProcess::Break.
HRESULT ThreadCreateEvent(IRemoteThread *pThread)Notification sent when a thread is created.
HRESULT ThreadDestroyEvent(IRemoteThread *pThread)Notification sent when a thread is destroyed.
HRESULT ThreadGroupCreateEvent(IRemoteThread *pThread, IRemoteThreadGroup *pThreadGroup)Notification sent when a thread group is created.
Parameter Description [in] pThreadGroup New thread group.
HRESULT ThreadGroupDestroyEvent(IRemoteThread *pThread, IRemoteThreadGroup *pThreadGroup)Notification sent when a thread group is destroyed.
Parameter Description [in] pThreadGroup Destroyed thread group.
HRESULT ClassLoadEvent(IRemoteThread *pThread, IRemoteClassField *pClassType)Notification sent when a class is loaded.
Parameter Description [in] pClassType Loaded class.
HRESULT LoadCompleteEvent(IRemoteThread *pThread)Notification sent when all classes have been loaded.
HRESULT ClassUnloadEvent(IRemoteThread *pThread, IRemoteClassField *pClassType)Notification sent when a class is unloaded.
Parameter Description [in] pClassType Unloaded class.
HRESULT TraceEvent(IRemoteThread *pThread)Notification sent while tracing is enabled when a method is entered.
HRESULT ProcessDestroyEvent(IRemoteThread *pThread)Notification sent when the namespace terminates. No further notifications are sent after ProcessDestroyEvent.