Freigeben über


ICorDebugController::Stop-Methode

Führt einen kooperativen Stopp für alle Threads aus, die verwalteten Code im Prozess ausführen.

Syntax

HRESULT Stop (
    [in] DWORD dwTimeoutIgnored
);

Die Parameter

dwTimeoutIgnored Wird nicht verwendet.

Bemerkungen

Stop führt einen kooperativen Stopp für alle Threads aus, die verwalteten Code im Prozess ausführen. Während einer nur verwalteten Debugsitzung können nicht verwaltete Threads weiterhin ausgeführt werden (werden jedoch blockiert, wenn Sie versuchen, verwalteten Code aufzurufen). Während einer Interop-Debugsitzung werden auch nicht verwaltete Threads beendet. Der dwTimeoutIgnored Wert wird zurzeit ignoriert und als INFINITE (-1) behandelt. Wenn der kooperative Stopp aufgrund eines Deadlocks fehlschlägt, werden alle Threads angehalten und E_TIMEOUT zurückgegeben.

Hinweis

Stop ist die einzige synchrone Methode in der Debug-API. Wenn Stop S_OK zurückgegeben wird, wird der Prozess beendet. Es wird kein Rückruf ausgegeben, um Listener über den Stopp zu benachrichtigen. Der Debugger muss ICorDebugController::Continue aufrufen, damit der Prozess fortgesetzt werden kann.

Der Debugger verwaltet einen Stoppzähler. Wenn der Zähler zu Null wechselt, wird der Controller fortgesetzt. Jeder Anruf an Stop oder jede verteilte Rückruf erhöht den Zähler. Jeder Aufruf, um den Zähler zu ICorDebugController::Continue erhöhen.

Anforderungen

Plattformen: Siehe .NET unterstützte Betriebssysteme.

Kopfball: CorDebug.idl, CorDebug.h

Bibliothek: CorGuids.lib

.NET-Versionen: Verfügbar seit .NET Framework 1.0

Siehe auch