次の方法で共有


ICorDebugController::Stop メソッド

プロセス内でマネージド コードが実行されているすべてのスレッドで協調停止を実行します。

構文

HRESULT Stop (
    [in] DWORD dwTimeoutIgnored
);

パラメーター

dwTimeoutIgnored 使用されません。

解説

Stop は、プロセス内でマネージド コードが実行されているすべてのスレッドで協調停止を実行します。 マネージドのみのデバッグ セッションでは、アンマネージド スレッドは引き続き実行できます (ただし、マネージド コードを呼び出そうとするとブロックされます)。 相互運用機能デバッグ セッションでは、アンマネージド スレッドも停止します。 この dwTimeoutIgnored 値は現時点では無視され、INFINITE (-1) として扱われます。 デッドロックが原因で協調停止が失敗した場合は、すべてのスレッドが中断され、E_TIMEOUT が返されます。

Note

Stop は、デバッグ API の唯一の同期メソッドです。 Stop が S_OK を返すと、プロセスは停止されます。 リスナーに停止を通知するためのコールバックは提供されていません。 プロセスを再開できるようにするには、デバッガーで ICorDebugController::Continue を呼び出す必要があります。

デバッガーは停止カウンターを保持します。 カウンターが 0 になると、コントローラーが再開されます。 Stop の各呼び出しまたはディスパッチされた各コールバックは、カウンターをインクリメントします。 ICorDebugController::Continue の各呼び出しは、カウントをデクリメントします。

必要条件

:システム要件」を参照してください。

ヘッダー: CorDebug.idl、CorDebug.h

ライブラリ: CorGuids.lib

.NET Framework のバージョン: 1.0 以降で使用可能

関連項目