ICor(CLR) Debugging Interfaces [In VB.NET]

ICor(CLR) Debugging Interfaces [In VB.NET]

post id: 82

post length: 54276

post datetime: 5/13/2011 8:30:09 PM

post ip: 10.10.10.254

ICor(CLR) Debugging Interfaces [In VB.NET]:

/ICorDebug/

Source:

code.google.com//acsdebugger/

ICorDebug Interface

Provides methods that allow developers to debug applications in the CLR environment.

<ComImport(), _

ComVisible(True), _

Guid("3D6F5F61-7538-11D3-8D5B-00104B35E7EF"), _

InterfaceType(ComInterfaceType.InterfaceIsIUnknown)> _

Public Interface ICorDebug

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub Initialize()

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub Terminate()

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub SetManagedHandler(<[In](), MarshalAs(UnmanagedType.Interface)> ByVal pCallback AsICorDebugManagedCallback)

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub SetUnmanagedHandler(<[In](), MarshalAs(UnmanagedType.Interface)> ByVal pCallback AsICorDebugUnmanagedCallback)

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub CreateProcess(<[In](), MarshalAs(UnmanagedType.LPWStr)> ByVal lpApplicationName As String, <[In](), MarshalAs(UnmanagedType.LPWStr)> ByVal lpCommandLine As String, <[In]()> ByVal lpProcessAttributes As [IntPtr], <[In]()> ByVal lpThreadAttributes As [IntPtr], <[In]()> ByVal bInheritHandles AsInteger, <[In]()> ByVal dwCreationFlags As UInt32, <[In]()> ByVal lpEnvironment As IntPtr, <[In](), MarshalAs(UnmanagedType.LPWStr)> ByVal lpCurrentDirectory As String, <[In]()> ByVal lpStartupInfo As[IntPtr], <[In]()> ByVal lpProcessInformation As [IntPtr], <[In]()> ByVal debuggingFlags As Int32, <Out(), MarshalAs(UnmanagedType.Interface)> ByRef ppProcess As ICorDebugProcess)

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub DebugActiveProcess(<[In]()> ByVal id As UInt32, <[In]()> ByVal win32Attach As Integer, <Out(), MarshalAs(UnmanagedType.Interface)> ByRef ppProcess As ICorDebugProcess)

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub EnumerateProcesses(<Out(), MarshalAs(UnmanagedType.Interface)> ByRef ppProcess AsICorDebugProcessEnum)

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub GetProcess(<[In]()> ByVal dwProcessId As UInt32, <Out(), MarshalAs(UnmanagedType.Interface)> ByRef ppProcess As ICorDebugProcess)

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub CanLaunchOrAttach(<[In]()> ByVal dwProcessId As UInt32, <[In]()> ByVal win32DebuggingEnabledAs Integer)

End Interface

ICorDebugEnum Interface

Serves as the abstract base interface for debugging enumerators.

<ComImport(), _

ComVisible(True), _

Guid("CC7BCB01-8A68-11D2-983C-0000F808342D"), _

InterfaceType(ComInterfaceType.InterfaceIsIUnknown)> _

Public Interface ICorDebugEnum

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub Skip(<[In]()> ByVal celt As UInt32)

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub Reset()

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub Clone(<Out(), MarshalAs(UnmanagedType.Interface)> ByRef ppEnum As ICorDebugEnum)

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub GetCount(<Out()> ByRef pcelt As UInt32)

End Interface

ICorDebugAssembly Interface

Represents an assembly.

<ComImport(), _

ComVisible(True), _

Guid("DF59507C-D47A-459E-BCE2-6427EAC8FD06"), _

InterfaceType(ComInterfaceType.InterfaceIsIUnknown)> _

Public Interface ICorDebugAssembly

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub GetProcess(<Out(), MarshalAs(UnmanagedType.Interface)> ByRef ppProcess As ICorDebugProcess)

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub GetAppDomain(<Out(), MarshalAs(UnmanagedType.Interface)> ByRef ppAppDomain AsICorDebugAppDomain)

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub EnumerateModules(<Out(), MarshalAs(UnmanagedType.Interface)> ByRef ppModules AsICorDebugModuleEnum)

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub GetCodeBase(<[In]()> ByVal cchName As UInt32, <Out()> ByRef pcchName As UInt32, <Out()> ByVal szName As IntPtr)

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub GetName(<[In]()> ByVal cchName As UInt32, <Out()> ByRef pcchName As UInt32, <Out()> ByVal szName As IntPtr)

End Interface

ICorDebugAssemblyEnum Interface

Implements ICorDebugEnum methods, and enumerates ICorDebugAssembly arrays.

<ComImport(), _

ComVisible(True), _

Guid("4A2A1EC9-85EC-4BFB-9F15-A89FDFE0FE83"), _

InterfaceType(ComInterfaceType.InterfaceIsIUnknown)> _

Public Interface ICorDebugAssemblyEnum

Inherits ICorDebugEnum

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub [Next](<[In]()> ByVal celt As UInt32, <Out()> ByVal values As IntPtr, <Out()> ByRef pceltFetched AsUInt32)

End Interface

ICorDebugProcess Interface

Represents a process that is executing managed code.

<ComImport(), _

ComVisible(True), _

Guid("3D6F5F64-7538-11D3-8D5B-00104B35E7EF"), _

InterfaceType(ComInterfaceType.InterfaceIsIUnknown)> _

Public Interface ICorDebugProcess

Inherits ICorDebugController

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub GetID(<Out()> ByRef pdwProcessId As UInt32)

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub GetHandle(<Out(), ComAliasName("ACS.Debugger.Core.Interfaces.long")> ByRef phProcessHandleAs UInt32)

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub GetThread(<[In]()> ByVal dwThreadId As UInt32, <Out(), MarshalAs(UnmanagedType.Interface)> ByRef ppThread As ICorDebugThread)

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub EnumerateObjects(<Out(), MarshalAs(UnmanagedType.Interface)> ByRef ppObjects AsICorDebugObjectEnum)

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub IsTransitionStub(<[In]()> ByVal address As UInt64, <Out()> ByRef pbTransitionStub As Integer)

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub IsOSSuspended(<[In]()> ByVal threadID As UInt32, <Out()> ByRef pbSuspended As Integer)

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub GetThreadContext(<[In]()> ByVal threadID As UInt32, <[In]()> ByVal contextSize As UInt32, <[In](), Out()> ByVal context As IntPtr)

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub SetThreadContext(<[In]()> ByVal threadID As UInt32, <[In]()> ByVal contextSize As UInt32, <[In]()> ByVal context As IntPtr)

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub ReadMemory(<[In]()> ByVal address As UInt64, <[In]()> ByVal size As UInt32, <Out()> ByVal bufferAs IntPtr, <Out(), ComAliasName("ACS.Debugger.Core.Interfaces.ULONG_PTR")> ByRef read As UInt32)

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub WriteMemory(<[In]()> ByVal address As UInt64, <[In]()> ByVal size As UInt32, <[In]()> ByRef bufferAs Byte, <Out(), ComAliasName("ACS.Debugger.Core.Interfaces.ULONG_PTR")> ByRef written As UInt32)

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub ClearCurrentException(<[In]()> ByVal threadID As UInt32)

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub EnableLogMessages(<[In]()> ByVal fOnOff As Integer)

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub ModifyLogSwitch(<[In]()> ByRef pLogSwitchName As UInt16, <[In]()> ByVal lLevel As Integer)

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub EnumerateAppDomains(<Out(), MarshalAs(UnmanagedType.Interface)> ByRef ppAppDomains AsICorDebugAppDomainEnum)

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub GetObject(<Out(), MarshalAs(UnmanagedType.Interface)> ByRef ppObject As ICorDebugValue)

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub ThreadForFiberCookie(<[In]()> ByVal fiberCookie As UInt32, <Out(), MarshalAs(UnmanagedType.Interface)> ByRef ppThread As ICorDebugThread)

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub GetHelperThreadID(<Out()> ByRef pThreadID As UInt32)

End Interface

ICorDebugProcessEnum Interface

Implements ICorDebugEnum methods, and enumerates ICorDebugProcess arrays.

<ComImport(), _

ComVisible(True), _

Guid("CC7BCB05-8A68-11D2-983C-0000F808342D"), _

InterfaceType(ComInterfaceType.InterfaceIsIUnknown)> _

Public Interface ICorDebugProcessEnum

Inherits ICorDebugEnum

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub [Next](<[In]()> ByVal celt As UInt32, <Out()> ByVal processes As IntPtr, <Out()> ByRef pceltFetchedAs UInt32)

End Interface

ICorDebugModule Interface

Represents a CLR module, which is either an executable or a dynamic-link library (DLL).

<ComImport(), _

ComVisible(True), _

Guid("DBA2D8C1-E5C5-4069-8C13-10A7C6ABF43D"), _

InterfaceType(ComInterfaceType.InterfaceIsIUnknown)> _

Public Interface ICorDebugModule

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub GetProcess(<Out(), MarshalAs(UnmanagedType.Interface)> ByRef ppProcess As ICorDebugProcess)

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub GetBaseAddress(<Out()> ByRef pAddress As UInt64)

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub GetAssembly(<Out(), MarshalAs(UnmanagedType.Interface)> ByRef ppAssembly AsICorDebugAssembly)

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub GetName(<[In]()> ByVal cchName As UInt32, <Out()> ByRef pcchName As UInt32, <Out()> ByVal szName As StringBuilder)

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub EnableJITDebugging(<[In]()> ByVal bTrackJITInfo As Integer, <[In]()> ByVal bAllowJitOpts AsInteger)

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub EnableClassLoadCallbacks(<[In]()> ByVal bClassLoadCallbacks As Integer)

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub GetFunctionFromToken(<[In]()> ByVal methodDef As Object, <Out(), MarshalAs(UnmanagedType.Interface)> ByRef ppFunction As ICorDebugFunction)

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub GetFunctionFromRVA(<[In]()> ByVal rva As UInt64, <Out(), MarshalAs(UnmanagedType.Interface)> ByRef ppFunction As ICorDebugFunction)

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub GetClassFromToken(<[In]()> ByVal typeDef As UInt32, <Out(), MarshalAs(UnmanagedType.Interface)> ByRef ppClass As ICorDebugClass)

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub CreateBreakpoint(<Out(), MarshalAs(UnmanagedType.Interface)> ByRef ppBreakpoint AsICorDebugModuleBreakpoint)

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub GetEditAndContinueSnapshot(<Out(), MarshalAs(UnmanagedType.Interface)> ByRef ppEditAndContinueSnapshot As ICorDebugEditAndContinueSnapshot)

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub GetMetaDataInterface(<[In]()> ByRef riid As Guid, <Out(), MarshalAs(UnmanagedType.IUnknown)> ByRef ppObj As Object)

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub GetToken(<Out()> ByRef pToken As UInt32)

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub IsDynamic(<Out()> ByRef pDynamic As Integer)

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub GetGlobalVariableValue(<[In]()> ByVal fieldDef As UInt32, <Out(), MarshalAs(UnmanagedType.Interface)> ByRef ppValue As ICorDebugValue)

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub GetSize(<Out()> ByRef pcBytes As UInt32)

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub IsInMemory(<Out()> ByRef pInMemory As Integer)

End Interface

ICorDebugModuleEnum Interface

Implements ICorDebugEnum methods, and enumerates ICorDebugModule arrays.

<ComImport(), _

ComVisible(True), _

Guid("CC7BCB09-8A68-11D2-983C-0000F808342D"), _

InterfaceType(ComInterfaceType.InterfaceIsIUnknown)> _

Public Interface ICorDebugModuleEnum

Inherits ICorDebugEnum

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub [Next](<[In]()> ByVal celt As UInt32, <Out()> ByVal modules As IntPtr, <Out()> ByRef pceltFetchedAs UInt32)

End Interface

ICorDebugThread Interface

Represents a thread in a process. The lifetime of an ICorDebugThread instance is the same as the lifetime of the thread it represents.

<ComImport(), _

ComVisible(True), _

Guid("938C6D66-7FB6-4F69-B389-425B8987329B"), _

InterfaceType(ComInterfaceType.InterfaceIsIUnknown)> _

Public Interface ICorDebugThread

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub GetProcess(<Out(), MarshalAs(UnmanagedType.Interface)> ByRef ppProcess As ICorDebugProcess)

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub GetID(<Out()> ByRef pdwThreadId As UInt32)

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub GetHandle(<Out(), ComAliasName("ACS.Debugger.Core.Interfaces.long")> ByRef phThreadHandleAs UInt32)

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub GetAppDomain(<Out(), MarshalAs(UnmanagedType.Interface)> ByRef ppAppDomain AsICorDebugAppDomain)

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub SetDebugState(<[In]()> ByVal state As UInt32)

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub GetDebugState(<Out()> ByRef pState As UInt32)

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub GetUserState(<Out()> ByRef pState As UInt32)

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub GetCurrentException(<Out(), MarshalAs(UnmanagedType.Interface)> ByRef ppExceptionObject AsICorDebugValue)

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub ClearCurrentException()

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub CreateStepper(<Out(), MarshalAs(UnmanagedType.Interface)> ByRef ppStepper AsICorDebugStepper)

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub EnumerateChains(<Out(), MarshalAs(UnmanagedType.Interface)> ByRef ppChains AsICorDebugChainEnum)

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub GetActiveChain(<Out(), MarshalAs(UnmanagedType.Interface)> ByRef ppChain As ICorDebugChain)

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub GetActiveFrame(<Out(), MarshalAs(UnmanagedType.Interface)> ByRef ppFrame AsICorDebugFrame)

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub GetRegisterSet(<Out(), MarshalAs(UnmanagedType.Interface)> ByRef ppRegisters AsICorDebugRegisterSet)

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub CreateEval(<Out(), MarshalAs(UnmanagedType.Interface)> ByRef ppEval As ICorDebugEval)

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub GetObject(<Out(), MarshalAs(UnmanagedType.Interface)> ByRef ppObject As ICorDebugValue)

End Interface

ICorDebugThreadEnum Interface

Implements ICorDebugEnum methods, and enumerates ICorDebugThread arrays.

<ComImport(), _

ComVisible(True), _

Guid("CC7BCB06-8A68-11D2-983C-0000F808342D"), _

InterfaceType(ComInterfaceType.InterfaceIsIUnknown)> _

Public Interface ICorDebugThreadEnum

Inherits ICorDebugEnum

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub [Next](<[In]()> ByVal celt As UInt32, <Out()> ByVal threads As IntPtr, <Out()> ByRef pceltFetchedAs UInt32)

End Interface

ICorDebugStepper Interface

Represents a step in code execution that is performed by a debugger, serves as an identifier between the issuance and completion of a command, and provides a way to cancel a step.

<ComImport(), _

ComVisible(True), _

Guid("CC7BCAEC-8A68-11D2-983C-0000F808342D"), _

InterfaceType(ComInterfaceType.InterfaceIsIUnknown)> _

Public Interface ICorDebugStepper

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub IsActive(<Out()> ByRef pbActive As Integer)

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub Deactivate()

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub SetInterceptMask()

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub SetUnmappedStopMask()

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub [Step](<[In]()> ByVal bStepIn As Integer)

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub StepRange()

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub StepOut()

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub SetRangeIL(<[In]()> ByVal bIL As Integer)

End Interface

ICorDebugStepperEnum Interface

Implements ICorDebugEnum methods, and enumerates ICorDebugStepper arrays.

<ComImport(), _

ComVisible(True), _

Guid("CC7BCB04-8A68-11D2-983C-0000F808342D"), _

InterfaceType(ComInterfaceType.InterfaceIsIUnknown)> _

Public Interface ICorDebugStepperEnum

Inherits ICorDebugEnum

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub [Next](<[In]()> ByVal celt As UInt32, <Out()> ByVal steppers As IntPtr, <Out()> ByRef pceltFetchedAs UInt32)

End Interface

ICorDebugChain Interface

Represents a segment of a physical or logical call stack.

<ComImport(), _

ComVisible(True), _

Guid("CC7BCAEE-8A68-11D2-983C-0000F808342D"), _

InterfaceType(ComInterfaceType.InterfaceIsIUnknown)> _

Public Interface ICorDebugChain

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub GetThread(<Out(), MarshalAs(UnmanagedType.Interface)> ByRef ppThread As ICorDebugThread)

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub GetStackRange(<Out()> ByRef pStart As UInt64, <Out()> ByRef pEnd As UInt64)

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub GetContext(<Out(), MarshalAs(UnmanagedType.Interface)> ByRef ppContext As ICorDebugContext)

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub GetCaller(<Out(), MarshalAs(UnmanagedType.Interface)> ByRef ppChain As ICorDebugChain)

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub GetCallee(<Out(), MarshalAs(UnmanagedType.Interface)> ByRef ppChain As ICorDebugChain)

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub GetPrevious(<Out(), MarshalAs(UnmanagedType.Interface)> ByRef ppChain As ICorDebugChain)

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub GetNext(<Out(), MarshalAs(UnmanagedType.Interface)> ByRef ppChain As ICorDebugChain)

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub IsManaged(<Out()> ByRef pManaged As Integer)

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub EnumerateFrames(<Out(), MarshalAs(UnmanagedType.Interface)> ByRef ppFrames AsICorDebugFrameEnum)

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub GetActiveFrame(<Out(), MarshalAs(UnmanagedType.Interface)> ByRef ppFrame AsICorDebugFrame)

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub GetRegisterSet(<Out(), MarshalAs(UnmanagedType.Interface)> ByRef ppRegisters AsICorDebugRegisterSet)

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub GetReason(<Out()> ByRef pReason As UInt32)

End Interface

ICorDebugChainEnum Interface

Implements ICorDebugEnum methods, and enumerates ICorDebugChain arrays.

<ComImport(), _

ComVisible(True), _

Guid("CC7BCB08-8A68-11D2-983C-0000F808342D"), _

InterfaceType(ComInterfaceType.InterfaceIsIUnknown)> _

Public Interface ICorDebugChainEnum

Inherits ICorDebugEnum

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub [Next](<[In]()> ByVal celt As UInt32, <Out()> ByVal chains As IntPtr, <Out()> ByRef pceltFetched AsUInt32)

End Interface

ICorDebugFrame Interface

Represents a frame on the current stack.

<ComImport(), _

ComVisible(True), _

Guid("CC7BCAEF-8A68-11D2-983C-0000F808342D"), _

InterfaceType(ComInterfaceType.InterfaceIsIUnknown)> _

Public Interface ICorDebugFrame

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub GetChain(<Out(), MarshalAs(UnmanagedType.Interface)> ByRef ppChain As ICorDebugChain)

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub GetCode(<Out(), MarshalAs(UnmanagedType.Interface)> ByRef ppCode As ICorDebugCode)

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub GetFunction(<Out(), MarshalAs(UnmanagedType.Interface)> ByRef ppFunction AsICorDebugFunction)

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub GetFunctionToken(<Out()> ByRef pToken As IntPtr)

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub GetStackRange(<Out()> ByRef pStart As UInt64, <Out()> ByRef pEnd As UInt64)

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub GetCaller(<Out(), MarshalAs(UnmanagedType.Interface)> ByRef ppFrame As ICorDebugFrame)

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub GetCallee(<Out(), MarshalAs(UnmanagedType.Interface)> ByRef ppFrame As ICorDebugFrame)

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub CreateStepper(<Out(), MarshalAs(UnmanagedType.Interface)> ByRef ppStepper AsICorDebugStepper)

End Interface

ICorDebugFrameEnum Interface

Implements ICorDebugEnum methods, and enumerates ICorDebugFrame arrays.

<ComImport(), _

ComVisible(True), _

Guid("CC7BCB07-8A68-11D2-983C-0000F808342D"), _

InterfaceType(ComInterfaceType.InterfaceIsIUnknown)> _

Public Interface ICorDebugFrameEnum

Inherits ICorDebugEnum

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub [Next](<[In]()> ByVal celt As UInt32, <Out()> ByVal frames As IntPtr, <Out()> ByRef pceltFetched AsUInt32)

End Interface

ICorDebugBreakpoint Interface

Represents a breakpoint in a function or a watch point on a value.

<ComImport(), _

ComVisible(True), _

Guid("CC7BCAE8-8A68-11D2-983C-0000F808342D"), _

InterfaceType(ComInterfaceType.InterfaceIsIUnknown)> _

Public Interface ICorDebugBreakpoint

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub Activate(<[In]()> ByVal bActive As Integer)

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub IsActive(<Out()> ByRef pbActive As Integer)

End Interface

ICorDebugBreakpointEnum Interface

Implements ICorDebugEnum methods, and enumerates ICorDebugBreakpoint arrays.

<ComImport(), _

ComVisible(True), _

Guid("CC7BCB03-8A68-11D2-983C-0000F808342D"), _

InterfaceType(ComInterfaceType.InterfaceIsIUnknown)> _

Public Interface ICorDebugBreakpointEnum

Inherits ICorDebugEnum

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub [Next](<[In]()> ByVal celt As UInt32, <Out()> ByVal breakpoints As IntPtr, <Out()> ByRef pceltFetched As UInt32)

End Interface

ICorDebugAppDomain Interface

Provides methods for debugging application domains.

<ComImport(), _

ComVisible(True), _

Guid("3D6F5F63-7538-11D3-8D5B-00104B35E7EF"), _

InterfaceType(ComInterfaceType.InterfaceIsIUnknown)> _

Public Interface ICorDebugAppDomain

Inherits ICorDebugController

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub GetProcess(<Out(), MarshalAs(UnmanagedType.Interface)> ByRef ppProcess As ICorDebugProcess)

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub EnumerateAssemblies(<Out(), MarshalAs(UnmanagedType.Interface)> ByRef ppAssemblies AsICorDebugAssemblyEnum)

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub GetModuleFromMetaDataInterface(<[In](), MarshalAs(UnmanagedType.IUnknown)> ByVal pIMetaData As Object, <Out(), MarshalAs(UnmanagedType.Interface)> ByRef ppModule As ICorDebugModule)

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub EnumerateBreakpoints(<Out(), MarshalAs(UnmanagedType.Interface)> ByRef ppBreakpoints AsICorDebugBreakpointEnum)

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub EnumerateSteppers(<Out(), MarshalAs(UnmanagedType.Interface)> ByRef ppSteppers AsICorDebugStepperEnum)

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub IsAttached(<Out()> ByRef pbAttached As Integer)

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub GetName(<[In]()> ByVal cchName As UInt32, <Out()> ByRef pcchName As UInt32, <Out()> ByVal szName As IntPtr)

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub GetObject(<Out(), MarshalAs(UnmanagedType.Interface)> ByRef ppObject As ICorDebugValue)

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub Attach()

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub GetID(<Out()> ByRef pId As UInt32)

End Interface

ICorDebugAppDomainEnum Interface

Provides a method that returns a specified number of ICorDebugAppDomain values starting at the next location in the enumeration.

<ComImport(), _

ComVisible(True), _

Guid("63CA1B24-4359-4883-BD57-13F815F58744"), _

InterfaceType(ComInterfaceType.InterfaceIsIUnknown)> _

Public Interface ICorDebugAppDomainEnum

Inherits ICorDebugEnum

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub [Next](<[In]()> ByVal celt As UInt32, <Out()> ByVal values As IntPtr, <Out()> ByRef pceltFetched AsUInt32)

End Interface

ICorDebugManagedCallback Interface

Provides methods to process debugger callbacks.

<ComImport(), _

ComVisible(True), _

Guid("3D6F5F60-7538-11D3-8D5B-00104B35E7EF"), _

InterfaceType(ComInterfaceType.InterfaceIsIUnknown)> _

Public Interface ICorDebugManagedCallback

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub Breakpoint(<[In](), MarshalAs(UnmanagedType.Interface)> ByVal pAppDomain AsICorDebugAppDomain, <[In](), MarshalAs(UnmanagedType.Interface)> ByVal pThread As ICorDebugThread, <[In](), MarshalAs(UnmanagedType.Interface)> ByVal pBreakpoint As ICorDebugBreakpoint)

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub StepComplete(<[In](), MarshalAs(UnmanagedType.Interface)> ByVal pAppDomain AsICorDebugAppDomain, <[In](), MarshalAs(UnmanagedType.Interface)> ByVal pThread As ICorDebugThread, <[In](), MarshalAs(UnmanagedType.Interface)> ByVal pStepper As ICorDebugStepper, <[In]()> ByVal reason AsUInt32)

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub Break(<[In](), MarshalAs(UnmanagedType.Interface)> ByVal pAppDomain As ICorDebugAppDomain, <[In](), MarshalAs(UnmanagedType.Interface)> ByVal thread As ICorDebugThread)

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub Exception(<[In](), MarshalAs(UnmanagedType.Interface)> ByVal pAppDomain AsICorDebugAppDomain, <[In](), MarshalAs(UnmanagedType.Interface)> ByVal pThread As ICorDebugThread, <[In]()> ByVal unhandled As Integer)

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub EvalComplete(<[In](), MarshalAs(UnmanagedType.Interface)> ByVal pAppDomain AsICorDebugAppDomain, <[In](), MarshalAs(UnmanagedType.Interface)> ByVal pThread As ICorDebugThread, <[In](), MarshalAs(UnmanagedType.Interface)> ByVal pEval As ICorDebugEval)

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub EvalException(<[In](), MarshalAs(UnmanagedType.Interface)> ByVal pAppDomain AsICorDebugAppDomain, <[In](), MarshalAs(UnmanagedType.Interface)> ByVal pThread As ICorDebugThread, <[In](), MarshalAs(UnmanagedType.Interface)> ByVal pEval As ICorDebugEval)

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub CreateProcess(<[In](), MarshalAs(UnmanagedType.Interface)> ByVal pProcess As ICorDebugProcess)

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub ExitProcess(<[In](), MarshalAs(UnmanagedType.Interface)> ByVal pProcess As ICorDebugProcess)

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub CreateThread(<[In](), MarshalAs(UnmanagedType.Interface)> ByVal pAppDomain AsICorDebugAppDomain, <[In](), MarshalAs(UnmanagedType.Interface)> ByVal thread As ICorDebugThread)

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub ExitThread(<[In](), MarshalAs(UnmanagedType.Interface)> ByVal pAppDomain AsICorDebugAppDomain, <[In](), MarshalAs(UnmanagedType.Interface)> ByVal thread As ICorDebugThread)

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub LoadModule(<[In](), MarshalAs(UnmanagedType.Interface)> ByVal pAppDomain AsICorDebugAppDomain, <[In](), MarshalAs(UnmanagedType.Interface)> ByVal pModule As ICorDebugModule)

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub UnloadModule(<[In](), MarshalAs(UnmanagedType.Interface)> ByVal pAppDomain AsICorDebugAppDomain, <[In](), MarshalAs(UnmanagedType.Interface)> ByVal pModule As ICorDebugModule)

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub LoadClass(<[In](), MarshalAs(UnmanagedType.Interface)> ByVal pAppDomain AsICorDebugAppDomain, <[In](), MarshalAs(UnmanagedType.Interface)> ByVal c As ICorDebugClass)

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub UnloadClass(<[In](), MarshalAs(UnmanagedType.Interface)> ByVal pAppDomain AsICorDebugAppDomain, <[In](), MarshalAs(UnmanagedType.Interface)> ByVal c As ICorDebugClass)

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub DebuggerError(<[In](), MarshalAs(UnmanagedType.Interface)> ByVal pProcess AsICorDebugProcess, <[In](), MarshalAs(UnmanagedType.Error)> ByVal errorHR As Integer, <[In]()> ByVal errorCode As UInt32)

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub LogMessage(<[In](), MarshalAs(UnmanagedType.Interface)> ByVal pAppDomain AsICorDebugAppDomain, <[In](), MarshalAs(UnmanagedType.Interface)> ByVal pThread As ICorDebugThread, <[In]()> ByVal lLevel As Integer, <[In]()> ByRef pLogSwitchName As UInt16, <[In]()> ByRef pMessage As UInt16)

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub LogSwitch(<[In](), MarshalAs(UnmanagedType.Interface)> ByVal pAppDomain AsICorDebugAppDomain, <[In](), MarshalAs(UnmanagedType.Interface)> ByVal pThread As ICorDebugThread, <[In]()> ByVal lLevel As Integer, <[In]()> ByVal ulReason As UInt32, <[In]()> ByRef pLogSwitchName As UInt16, <[In]()> ByRef pParentName As UInt16)

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub CreateAppDomain(<[In](), MarshalAs(UnmanagedType.Interface)> ByVal pProcess AsICorDebugProcess, <[In](), MarshalAs(UnmanagedType.Interface)> ByVal pAppDomain AsICorDebugAppDomain)

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub ExitAppDomain(<[In](), MarshalAs(UnmanagedType.Interface)> ByVal pProcess AsICorDebugProcess, <[In](), MarshalAs(UnmanagedType.Interface)> ByVal pAppDomain AsICorDebugAppDomain)

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub LoadAssembly(<[In](), MarshalAs(UnmanagedType.Interface)> ByVal pAppDomain AsICorDebugAppDomain, <[In](), MarshalAs(UnmanagedType.Interface)> ByVal pAssembly AsICorDebugAssembly)

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub UnloadAssembly(<[In](), MarshalAs(UnmanagedType.Interface)> ByVal pAppDomain AsICorDebugAppDomain, <[In](), MarshalAs(UnmanagedType.Interface)> ByVal pAssembly AsICorDebugAssembly)

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub ControlCTrap(<[In](), MarshalAs(UnmanagedType.Interface)> ByVal pProcess As ICorDebugProcess)

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub NameChange(<[In](), MarshalAs(UnmanagedType.Interface)> ByVal pAppDomain AsICorDebugAppDomain, <[In](), MarshalAs(UnmanagedType.Interface)> ByVal pThread As ICorDebugThread)

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub UpdateModuleSymbols(<[In](), MarshalAs(UnmanagedType.Interface)> ByVal pAppDomain AsICorDebugAppDomain, <[In](), MarshalAs(UnmanagedType.Interface)> ByVal pModule As ICorDebugModule, <[In](), MarshalAs(UnmanagedType.Interface)> ByVal pSymbolStream As IntPtr)

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub EditAndContinueRemap(<[In](), MarshalAs(UnmanagedType.Interface)> ByVal pAppDomain AsICorDebugAppDomain, <[In](), MarshalAs(UnmanagedType.Interface)> ByVal pThread As ICorDebugThread, <[In](), MarshalAs(UnmanagedType.Interface)> ByVal pFunction As ICorDebugFunction, <[In]()> ByVal fAccurate As Integer)

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub BreakpointSetError(<[In](), MarshalAs(UnmanagedType.Interface)> ByVal pAppDomain AsICorDebugAppDomain, <[In](), MarshalAs(UnmanagedType.Interface)> ByVal pThread As ICorDebugThread, <[In](), MarshalAs(UnmanagedType.Interface)> ByVal pBreakpoint As ICorDebugBreakpoint, <[In]()> ByVal dwError As UInt32)

End Interface

ICorDebugUnmanagedCallback Interface

Provides notification of native events that are not directly related to the CLR.

<ComImport(), _

ComVisible(True), _

Guid("5263E909-8CB5-11D3-BD2F-0000F80849BD"), _

InterfaceType(ComInterfaceType.InterfaceIsIUnknown)> _

Public Interface ICorDebugUnmanagedCallback

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub DebugEvent(<[In]()> ByVal pDebugEvent As [IntPtr], <[In]()> ByVal fOutOfBand As Boolean)

End Interface

ICorDebugController Interface

Represents a scope, either a Process or an AppDomain, in which code execution context can be controlled.

<ComImport(), _

ComVisible(True), _

Guid("3D6F5F62-7538-11D3-8D5B-00104B35E7EF"), _

InterfaceType(ComInterfaceType.InterfaceIsIUnknown)> _

Public Interface ICorDebugController

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub [Stop](<[In]()> ByVal dwTimeoutIgnored As UInt32)

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub [Continue](<[In]()> ByVal fIsOutOfBand As Integer)

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub IsRunning(<Out()> ByRef pbRunning As Integer)

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub HasQueuedCallbacks(<[In](), MarshalAs(UnmanagedType.Interface)> ByVal pThread AsICorDebugThread, <Out()> ByRef pbQueued As Integer)

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub EnumerateThreads(<Out(), MarshalAs(UnmanagedType.Interface)> ByRef ppThreads AsICorDebugThreadEnum)

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub SetAllThreadsDebugState(<[In]()> ByVal state As UInt32, <[In](), MarshalAs(UnmanagedType.Interface)> ByVal pExceptThisThread As ICorDebugThread)

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub Detach()

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub Terminate(<[In]()> ByVal exitCode As UInt32)

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub CanCommitChanges()

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub CommitChanges()

End Interface

ICorDebugValue Interface

Represents a read or write value in the process being debugged.

<ComImport(), _

ComVisible(True), _

Guid("CC7BCAF7-8A68-11D2-983C-0000F808342D"), _

InterfaceType(ComInterfaceType.InterfaceIsIUnknown)> _

Public Interface ICorDebugValue

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub [GetType](<Out()> ByRef pType As UInt32)

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub GetSize(<Out()> ByRef pSize As UInt32)

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub GetAddress(<Out()> ByRef pAddress As UInt64)

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub CreateBreakpoint(<Out(), MarshalAs(UnmanagedType.Interface)> ByRef ppBreakpoint AsICorDebugValueBreakpoint)

End Interface

ICorDebugEval Interface

Provides methods to enable the debugger to execute code within the context of the code being debugged.

<ComImport(), _

ComVisible(True), _

Guid("CC7BCAF6-8A68-11D2-983C-0000F808342D"), _

InterfaceType(ComInterfaceType.InterfaceIsIUnknown)> _

Public Interface ICorDebugEval

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub CallFunction(<[In](), MarshalAs(UnmanagedType.Interface)> ByVal pFunction AsICorDebugFunction, <[In]()> ByVal nArgs As UInt32, <[In](), MarshalAs(UnmanagedType.Interface)> ByRef ppArgs As ICorDebugValue)

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub NewObject(<[In](), MarshalAs(UnmanagedType.Interface)> ByVal pConstructor AsICorDebugFunction, <[In]()> ByVal nArgs As UInt32, <[In](), MarshalAs(UnmanagedType.Interface)> ByRef ppArgs As ICorDebugValue)

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub NewObjectNoConstructor(<[In](), MarshalAs(UnmanagedType.Interface)> ByVal pClass AsICorDebugClass)

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub NewString(<[In](), MarshalAs(UnmanagedType.LPWStr)> ByVal [string] As String)

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub NewArray(<[In]()> ByVal elementType As UInt32, <[In](), MarshalAs(UnmanagedType.Interface)> ByVal pElementClass As ICorDebugClass, <[In]()> ByVal rank As UInt32, <[In]()> ByRef dims As UInt32, <[In]()> ByRef lowBounds As UInt32)

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub IsActive(<Out()> ByRef pbActive As Integer)

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub Abort()

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub GetResult(<Out(), MarshalAs(UnmanagedType.Interface)> ByRef ppResult As ICorDebugValue)

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub GetThread(<Out(), MarshalAs(UnmanagedType.Interface)> ByRef ppThread As ICorDebugThread)

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub CreateValue(<[In]()> ByVal elementType As UInt32, <[In](), MarshalAs(UnmanagedType.Interface)> ByVal pElementClass As ICorDebugClass, <Out(), MarshalAs(UnmanagedType.Interface)> ByRef ppValue AsICorDebugValue)

End Interface

ICorDebugRegisterSet Interface

Represents the set of registers available on the machine that is currently executing code.

<ComImport(), _

ComVisible(True), _

Guid("CC7BCB0B-8A68-11D2-983C-0000F808342D"), _

InterfaceType(ComInterfaceType.InterfaceIsIUnknown)> _

Public Interface ICorDebugRegisterSet

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub GetRegistersAvailable(<Out()> ByRef pAvailable As UInt64)

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub GetRegisters(<[In]()> ByVal mask As UInt64, <[In]()> ByVal regCount As UInt32, <Out()> ByVal regBuffer As IntPtr)

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub SetRegisters(<[In]()> ByVal mask As UInt64, <[In]()> ByVal regCount As UInt32, <[In]()> ByRef regBuffer As UInt64)

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub GetThreadContext(<[In]()> ByVal contextSize As UInt32, <[In](), Out()> ByVal context As IntPtr)

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub SetThreadContext(<[In]()> ByVal contextSize As UInt32, <[In]()> ByVal context As IntPtr)

End Interface

ICorDebugFunctionBreakpoint Interface

Extends ICorDebugBreakpoint to support breakpoints within functions.

<ComImport(), _

ComVisible(True), _

Guid("CC7BCAE9-8A68-11D2-983C-0000F808342D"), _

InterfaceType(ComInterfaceType.InterfaceIsIUnknown)> _

Public Interface ICorDebugFunctionBreakpoint

Inherits ICorDebugBreakpoint

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub GetFunction(<Out(), MarshalAs(UnmanagedType.Interface)> ByRef ppFunction AsICorDebugFunction)

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub GetOffset(<Out()> ByRef pnOffset As UInt32)

End Interface

ICorDebugModuleBreakpoint Interface

Extends ICorDebugBreakpoint to provide access to specific modules.

<ComImport(), _

ComVisible(True), _

Guid("CC7BCAEA-8A68-11D2-983C-0000F808342D"), _

InterfaceType(ComInterfaceType.InterfaceIsIUnknown)> _

Public Interface ICorDebugModuleBreakpoint

Inherits ICorDebugBreakpoint

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub GetModule(<Out(), MarshalAs(UnmanagedType.Interface)> ByRef ppModule As ICorDebugModule)

End Interface

ICorDebugValueBreakpoint Interface

Extends ICorDebugBreakpoint to provide access to specific values.

<ComImport(), _

ComVisible(True), _

Guid("CC7BCAEB-8A68-11D2-983C-0000F808342D"), _

InterfaceType(ComInterfaceType.InterfaceIsIUnknown)> _

Public Interface ICorDebugValueBreakpoint

Inherits ICorDebugBreakpoint

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub GetValue(<Out(), MarshalAs(UnmanagedType.Interface)> ByRef ppValue As ICorDebugValue)

End Interface

ICorDebugFunction Interface

Represents a managed function or method.

<ComImport(), _

ComVisible(True), _

Guid("CC7BCAF3-8A68-11D2-983C-0000F808342D"), _

InterfaceType(ComInterfaceType.InterfaceIsIUnknown)> _

Public Interface ICorDebugFunction

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub GetModule(<Out(), MarshalAs(UnmanagedType.Interface)> ByRef ppModule As ICorDebugModule)

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub GetClass(<Out(), MarshalAs(UnmanagedType.Interface)> ByRef ppClass As ICorDebugClass)

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub GetToken(<Out()> ByRef pMethodDef As UInt32)

Sub GetILCode() : Sub GetNativeCode()

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub CreateBreakpoint(<Out(), MarshalAs(UnmanagedType.Interface)> ByRef ppBreakpoint AsICorDebugFunctionBreakpoint)

Sub T0() : Sub T1()

End Interface

ICorDebugContext Interface

Represents a context object. This interface has not been implemented yet.

<ComImport(), _

ComVisible(True), _

Guid("CC7BCB00-8A68-11D2-983C-0000F808342D"), _

InterfaceType(ComInterfaceType.InterfaceIsIUnknown)> _

Public Interface ICorDebugContext

Inherits ICorDebugObjectValue, ICorDebugValue

End Interface

ICorDebugClass Interface

Represents a type, which can be either basic or complex (that is, user-defined). If the type is generic, ICorDebugClass represents the uninstantiated generic type.

<ComImport(), _

ComVisible(True), _

Guid("CC7BCAF5-8A68-11D2-983C-0000F808342D"), _

InterfaceType(ComInterfaceType.InterfaceIsIUnknown)> _

Public Interface ICorDebugClass

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub GetModule(<Out(), MarshalAs(UnmanagedType.Interface)> ByRef pModule As ICorDebugModule)

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub GetToken(<Out()> ByRef pTypeDef As UInt32)

<MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _

Sub GetStaticFieldValue(<[In]()> ByVal fieldDef As UInt32, <[In](), MarshalAs(UnmanagedType.Interface)> ByVal pFrame As ICorDebugFrame, <Out(), MarshalAs(UnmanagedType.Interface)> ByRef ppValue As ICorDebugValue)

End Interface

ICorDebugCode Interface

Represents a segment of either Microsoft intermediate language (MSIL) code or native code.

<ComImport(), _

Guid("CC7BCAF4-8A68-11D2-983C-0000F808342D"), _

InterfaceType(ComInterfaceType.InterfaceIsIUnknown)> _

Public Interface ICorDebugCode

Sub T0()

Sub GetFunction()

Sub T1() : Sub T2()

Sub CreateBreakpoint(<[In]()> ByVal offset As UInt32, <Out(), MarshalAs(UnmanagedType.Interface)> ByRef ppBreakpoint As ICorDebugFunctionBreakpoint)

Sub T3() : Sub T4()

Sub GetILToNativeMapping()

Sub T5()

End Interface

ICorDebugEditAndContinueSnapshot Interface

Obsolete. Do not use this interface.

<ComImport(), _

Guid("6DC3FA01-D7CB-11D2-8A95-0080C792E5D8"), _

InterfaceType(ComInterfaceType.InterfaceIsIUnknown)> _

Public Interface ICorDebugEditAndContinueSnapshot

Sub CopyMetaData() : Sub T0() : Sub T1()

Sub T2() : Sub T3() : Sub T4()

Sub T5()

End Interface