共用方式為


ICorDebug

更新:2007 年 11 月

提供方法讓開發人員於 Common Language Runtime (CLR) 環境中為應用程式偵錯。

注意事項:

Windows 95、Windows 98、Windows ME 或非 x86 的平台 (例如 IA64 和 AMD64) 不支援混合模式 (Managed 和機器碼) 偵錯。

interface ICorDebug : IUnknown {
        
    HRESULT CanLaunchOrAttach (
        [in] DWORD                         dwProcessId,
        [in] BOOL                          win32DebuggingEnabled
    );
        
    HRESULT CreateProcess (
        [in] LPCWSTR                       lpApplicationName,
        [in] LPWSTR                        lpCommandLine,
        [in] LPSECURITY_ATTRIBUTES         lpProcessAttributes,
        [in] LPSECURITY_ATTRIBUTES         lpThreadAttributes,
        [in] BOOL                          bInheritHandles,
        [in] DWORD                         dwCreationFlags,
        [in] PVOID                         lpEnvironment,
        [in] LPCWSTR                       lpCurrentDirectory,
        [in] LPSTARTUPINFOW                lpStartupInfo,
        [in] LPPROCESS_INFORMATION         pProcessInformation,
        [in] CorDebugCreateProcessFlags    debuggingFlags,
        [out] ICorDebugProcess             **ppProcess
    );
        
    HRESULT DebugActiveProcess (
        [in] DWORD                         id,
        [in] BOOL                          win32Attach,
        [out] ICorDebugProcess             **ppProcess
    );
        
    HRESULT EnumerateProcesses (
        [out] ICorDebugProcessEnum         **ppProcess
    );
        
    HRESULT GetProcess (
                [in] DWORD dwProcessId,
        [out] ICorDebugProcess **ppProcess);

    HRESULT Initialize();
        
    HRESULT SetManagedHandler (
        [in] ICorDebugManagedCallback      *pCallback
    );
        
    HRESULT SetUnmanagedHandler (
        [in] ICorDebugUnmanagedCallback    *pCallback
    );
        
    HRESULT Terminate ();
        
};

方法

方法

描述

ICorDebug::CanLaunchOrAttach 方法

判斷在目前電腦以及執行階段組態的內容中,是否有可能啟動新的處理序或附加至指定的處理序。

ICorDebug::CreateProcess 方法

在偵錯工具控制下,啟動處理序及其主執行緒。

ICorDebug::DebugActiveProcess 方法

將偵錯工具附加至現有的處理序。

ICorDebug::EnumerateProcesses 方法

為所偵錯的處理序取得列舉值。

ICorDebug::GetProcess 方法

傳回具有指定處理序 ID 的 ICorDebugProcess 物件。

ICorDebug::Initialize 方法

初始化 ICorDebug 物件。

ICorDebug::SetManagedHandler 方法

為 Managed 事件指定事件處理常式物件。

ICorDebug::SetUnmanagedHandler 方法

為 Unmanaged 事件指定事件處理常式物件。

ICorDebug::Terminate 方法

結束 ICorDebug 物件。

備註

ICorDebug 表示偵錯工具處理序的事件處理迴圈。偵錯工具必須等候來自所有偵錯中處理序的 ICorDebugManagedCallback::ExitProcess 回呼,才能釋放這個介面。

ICorDebug 物件是控制所有進一步 Managed 偵錯的初始物件。在 .NET Framework 1.0 和 1.1 版中,這個物件是從 COM 建立的 CoClass 物件。在 .NET Framework 2.0 版中,這個物件不再是 CoClass 物件。這個物件必須是由 CreateDebuggingInterfaceFromVersion 函式所建立,而這個函式具備了更強的版本辨識能力。這個新建函式可讓用戶端取得 ICorDebug 的特定實作,也會模擬特定版本的偵錯 API。

需求

**平台:**請參閱 .NET Framework 系統需求

**標頭:**CorDebug.idl

**程式庫:**CorGuids.lib

**.NET Framework 版本:**3.5 SP1、3.5、3.0 SP1、3.0、2.0 SP1、2.0、1.1、1.0

請參閱

其他資源

偵錯介面