Metodo ICorDebugController::Stop
Esegue un arresto cooperativo in tutti i thread che eseguono codice gestito nel processo.
Sintassi
HRESULT Stop (
[in] DWORD dwTimeoutIgnored
);
Parametri
dwTimeoutIgnored
Non utilizzato.
Osservazioni:
Stop
esegue un arresto cooperativo su tutti i thread che eseguono codice gestito nel processo. Durante una sessione di debug solo gestito, i thread non gestiti possono continuare a essere eseguiti (ma verranno bloccati quando si tenta di chiamare il codice gestito). Durante una sessione di debug di interoperabilità, verranno arrestati anche i thread non gestiti. Il dwTimeoutIgnored
valore viene attualmente ignorato e trattato come INFINITE (-1). Se l'arresto cooperativo non riesce a causa di un deadlock, tutti i thread vengono sospesi e E_TIMEOUT viene restituito.
Nota
Stop
è l'unico metodo sincrono nell'API di debug. Quando Stop
restituisce S_OK, il processo viene arrestato. Non viene assegnato alcun callback per notificare ai listener l'arresto. Il debugger deve chiamare ICorDebugController::Continue per consentire la ripresa del processo.
Il debugger gestisce un contatore di arresto. Quando il contatore passa a zero, il controller viene ripreso. Ogni chiamata a Stop
o a ogni callback inviato incrementa il contatore. Ogni chiamata a ICorDebugController::Continue
decrementa il contatore.
Requisiti
Piattaforme: vedere Requisiti di sistema.
Intestazione: CorDebug.idl, CorDebug.h
Libreria: CorGuids.lib
Versioni di .NET Framework: disponibili dalla versione 1.0