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 以降で使用可能
関連項目
.NET