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 ();
};
方法
方法 |
描述 |
---|---|
判斷在目前電腦以及執行階段組態的內容中,是否有可能啟動新的處理序或附加至指定的處理序。 |
|
在偵錯工具控制下,啟動處理序及其主執行緒。 |
|
將偵錯工具附加至現有的處理序。 |
|
為所偵錯的處理序取得列舉值。 |
|
傳回具有指定處理序 ID 的 ICorDebugProcess 物件。 |
|
初始化 ICorDebug 物件。 |
|
為 Managed 事件指定事件處理常式物件。 |
|
為 Unmanaged 事件指定事件處理常式物件。 |
|
結束 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