Share via


ContinueDebugEvent 関数 (debugapi.h)

デバッグ イベントを以前に報告したスレッドをデバッガーで続行できるようにします。

構文

BOOL ContinueDebugEvent(
  [in] DWORD dwProcessId,
  [in] DWORD dwThreadId,
  [in] DWORD dwContinueStatus
);

パラメーター

[in] dwProcessId

続行するプロセスのプロセス識別子。

[in] dwThreadId

続行するスレッドのスレッド識別子。 プロセス識別子とスレッド識別子の組み合わせは、デバッグ イベントを以前に報告したスレッドを識別する必要があります。

[in] dwContinueStatus

デバッグ イベントを報告したスレッドを続行するためのオプション。

意味
DBG_CONTINUE
0x00010002L
dwThreadId パラメーターで指定されたスレッドが以前にEXCEPTION_DEBUG_EVENTデバッグ イベントを報告した場合、関数はすべての例外処理を停止し、スレッドを続行し、例外は処理済みとしてマークされます。 その他のデバッグ イベントの場合、このフラグは単にスレッドを続行します。
DBG_EXCEPTION_NOT_HANDLED
0x80010001L
dwThreadId によって指定されたスレッドが以前にEXCEPTION_DEBUG_EVENTデバッグ イベントを報告した場合、関数は例外処理を続行します。 これが初回例外イベントの場合は、構造化例外ハンドラーの検索ロジックとディスパッチ ロジックが使用されます。それ以外の場合、プロセスは終了します。 その他のデバッグ イベントの場合、このフラグは単にスレッドを続行します。
DBG_REPLY_LATER
0x40010001L
バージョン 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

関連項目

CreateProcess

デバッグ イベント

デバッグ関数