Freigeben über


ICorDebugController::Stop-Methode

Aktualisiert: November 2007

Beendet alle Threads, die verwalteten Code im Prozess ausführen.

HRESULT Stop (
    [in] DWORD dwTimeoutIgnored
);

Parameter

  • dwTimeoutIgnored
    Wird nicht verwendet.

Hinweise

Stop beendet kooperativ alle Threads, die verwalteten Code im Prozess ausführen. Während einer ausschließlich verwalteten Debugsitzung können unverwaltete Threads weiter ausgeführt werden (werden aber blockiert, wenn sie versuchen, verwalteten Code aufzurufen). Während einer Interop-Debugsitzung werden nicht verwaltete Threads auch beendet. Der dwTimeoutIgnored-Wert wird derzeit ignoriert und als INFINITE (-1) behandelt. Wenn das kooperative Beenden aufgrund eines Deadlocks fehlschlägt, werden alle Threads angehalten, und E_TIMEOUT wird zurückgegeben.

Tipp

Stop stellt die einzige synchrone Methode in der Debug-API dar. Wenn Stop S_OK zurückgibt, wird der Prozess beendet. Es erfolgt kein Rückruf, um die Listener über das Anhalten des Prozesses zu benachrichtigen. Der Debugger muss ICorDebugController::Continue aufrufen, damit der Prozess fortgesetzt werden kann.

Der Debugger verwaltet einen "Stoppzähler". Wenn der Zähler 0 (null) erreicht, wird der Controller fortgesetzt. Mit jedem Aufruf von Stop oder jedem gesendeten Rückruf wird der Zähler erhöht. Mit jedem Aufruf von ICorDebugController::Continue wird der Zähler verringert.

Anforderungen

Plattformen: siehe Systemanforderungen für .NET Framework.

Header: CorDebug.idl

Bibliothek: CorGuids.lib

.NET Framework-Versionen: 3.5 SP1, 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0, 1.1, 1.0

Siehe auch

Referenz

ICorDebugController