Condividi tramite


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

Vedi anche