Struttura MDAInfo
Fornisce informazioni dettagliate sull'evento Event_MDAFired
, che attiva la creazione di un assistente al debug gestito.
Sintassi
typedef struct _MDAInfo {
LPCWSTR lpMDACaption;
LPCWSTR lpMDAMessage
} MDAInfo;
Members
Membro | Descrizione |
---|---|
lpMDACaption |
Titolo dell'assistente al debug gestito corrente. Il titolo descrive il tipo di errore che ha attivato l'evento Event_MDAFired . |
lpMDAMessage |
Messaggio di output fornito dall'assistente al debug gestito corrente. |
Commenti
Gli assistenti al debug gestito (MDA) sono strumenti di debug che funzionano insieme a Common Language Runtime (CLR) per eseguire attività quali l'identificazione di condizioni non valide nel motore di esecuzione di runtime o il dump di informazioni aggiuntive sullo stato del motore. Gli mdA generano messaggi XML sugli eventi che altrimenti sono difficili da intercettare. Sono particolarmente utili per il debug delle transizioni tra codice gestito e non gestito.
Il runtime esegue i passaggi seguenti quando viene generato un evento che attiva la creazione di un assistente al debug gestito:
Se l'host non ha registrato un'istanza IActionOnCLREvent chiamando ICLROnEventManager::RegisterActionOnEvent per ricevere una notifica di un
Event_MDAFired
evento, il runtime procede con il comportamento predefinito non ospitato.Se l'host ha registrato un gestore per questo evento, il runtime verifica se un debugger è collegato al processo. In caso affermativo, il runtime si interrompe nel debugger. Quando il debugger continua, chiama nell'host. Se non è collegato alcun debugger, il runtime chiama
IActionOnCLREvent::OnEvent
e passa un puntatore a un'istanzaMDAInfo
comedata
parametro.
L'host può scegliere di attivare mdA e ricevere una notifica quando viene attivato un assistente al debug gestito. In questo modo, l'host può eseguire l'override del comportamento predefinito e interrompere il thread gestito che ha generato l'evento, per impedire che venga danneggiato lo stato del processo. Per altre informazioni sull'uso di MDA, vedere Diagnosi degli errori con assistenti al debug gestito.
Requisiti
Piattaforme: vedere Requisiti di sistema di .NET Framework.
Intestazione: MSCorEE.idl
Libreria: Incluso come risorsa in MSCorEE.dll
Versioni di .NET Framework: Disponibile dalla versione 2.0