更新 : 2007 年 11 月
開発者が共通言語ランタイム (CLR: Common Language Runtime) 環境でアプリケーションをデバッグできるようにするメソッドを提供します。
![]() |
---|
Windows 95、Windows 98、Windows ME、または x86 以外のプラットフォーム (IA64、AMD64 など) では、混合モード (マネージ コードとネイティブ コード) デバッグはサポートされていません。 |
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 オブジェクトを初期化します。 |
|
マネージ イベントのイベント ハンドラ オブジェクトを指定します。 |
|
アンマネージ イベントのイベント ハンドラ オブジェクトを指定します。 |
|
ICorDebug オブジェクトを終了します。 |
解説
ICorDebug は、デバッガ プロセスのイベント処理ループを表します。デバッガは、このインターフェイスを解放する前に、デバッグ中のすべてのプロセスからの ICorDebugManagedCallback::ExitProcess コールバックを待機する必要があります。
ICorDebug オブジェクトは、それ以降のすべてのマネージ デバッグを制御する初期オブジェクトです。.NET Framework Version 1.0 および 1.1 では、このオブジェクトは COM から作成された CoClass オブジェクトでした。.NET Framework Version 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