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
);

Parameter

dwTimeoutIgnored Wird nicht verwendet.

Hinweise

Stop führt einen kooperativen Stopp für alle Threads aus, die verwalteten Code im Prozess ausführen. Während einer Sitzung mit ausschließlich verwaltetem Debuggen werden nicht verwaltete Threads möglicherweise weiterhin ausgeführt (werden jedoch blockiert, wenn versucht wird, verwalteten Code aufzurufen). Während einer Interop-Debugsitzung werden auch nicht verwaltete Threads beendet. Der dwTimeoutIgnored-Wert wird derzeit 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ückgibt, wird der Prozess beendet. Es wird kein Rückruf ausgeführt, um Listener über den Stopp zu benachrichtigen. Der Debugger muss ICorDebugController::Continue aufrufen, damit der Prozess fortgesetzt werden kann.

Der Debugger verfügt über einen Stoppzähler. Wenn der Zähler 0 (Null) erreicht, wird der Controller fortgesetzt. Jeder Aufruf von Stop oder jeder ausgelöste Rückruf erhöht den Zähler. Jeder Aufruf von ICorDebugController::Continue verringert den Zähler.

Anforderungen

Plattformen: Informationen finden Sie unter Systemanforderungen.

Header: CorDebug.idl, CorDebug.h

Bibliothek: CorGuids.lib

.NET Framework-Versionen: Seit Version 1.0 verfügbar.

Siehe auch