Documents & code‎ > ‎

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

ICor(CLR) Debugging Interfaces [In VB.NET]   
post id82 
post length54276 
post datetime5/13/2011 8:30:09 PM 
post ip10.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 


ċ
ICorDebug.zip
(4k)
DMITRY MENSHOV,
Sep 4, 2013, 9:04 AM
Comments