ContinueDebugEvent 関数 (debugapi.h)
デバッグ イベントを以前に報告したスレッドをデバッガーで続行できるようにします。
構文
BOOL ContinueDebugEvent(
[in] DWORD dwProcessId,
[in] DWORD dwThreadId,
[in] DWORD dwContinueStatus
);
パラメーター
[in] dwProcessId
続行するプロセスのプロセス識別子。
[in] dwThreadId
続行するスレッドのスレッド識別子。 プロセス識別子とスレッド識別子の組み合わせは、デバッグ イベントを以前に報告したスレッドを識別する必要があります。
[in] dwContinueStatus
デバッグ イベントを報告したスレッドを続行するためのオプション。
値 | 意味 |
---|---|
|
dwThreadId パラメーターで指定されたスレッドが以前にEXCEPTION_DEBUG_EVENTデバッグ イベントを報告した場合、関数はすべての例外処理を停止し、スレッドを続行し、例外は処理済みとしてマークされます。 その他のデバッグ イベントの場合、このフラグは単にスレッドを続行します。 |
|
dwThreadId によって指定されたスレッドが以前にEXCEPTION_DEBUG_EVENTデバッグ イベントを報告した場合、関数は例外処理を続行します。 これが初回例外イベントの場合は、構造化例外ハンドラーの検索ロジックとディスパッチ ロジックが使用されます。それ以外の場合、プロセスは終了します。 その他のデバッグ イベントの場合、このフラグは単にスレッドを続行します。 |
|
バージョン 1507 以降Windows 10でサポートされているこのフラグにより、ターゲットが続行された後に dwThreadId によって既存の破壊的イベントが再生されます。 dwThreadId に対して SuspendThread API を呼び出すことで、デバッガーはプロセス内の他のスレッドを再開し、後で中断状態に戻ることができます。 |
戻り値
関数が成功すると、戻り値は 0 以外になります。
関数が失敗した場合は、0 を返します。 詳細なエラー情報を得るには、GetLastError を呼び出します。
解説
CreateProcess 関数を使用して dwProcessId を作成したスレッドのみが ContinueDebugEvent を呼び出すことができます。
ContinueDebugEvent 関数が成功すると、指定したスレッドが続行されます。 スレッドによって以前に報告されたデバッグ イベントに応じて、異なるアクションが発生します。 継続スレッドが以前にEXIT_THREAD_DEBUG_EVENTデバッグ イベントを報告した場合、 ContinueDebugEvent はデバッガーがスレッドに対して持つハンドルを閉じます。 継続スレッドが以前にEXIT_PROCESS_DEBUG_EVENTデバッグ イベントを報告した場合、 ContinueDebugEvent は、デバッガーがプロセスとスレッドに対して持つハンドルを閉じます。
例
例については、「 デバッガーのメイン ループの記述」を参照してください。
要件
サポートされている最小のクライアント | Windows XP (デスクトップ アプリのみ) |
サポートされている最小のサーバー | Windows Server 2003 (デスクトップ アプリのみ) |
対象プラットフォーム | Windows |
ヘッダー | debugapi.h (Windows.h を含む) |
Library | Kernel32.lib |
[DLL] | Kernel32.dll |