Condividi tramite


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'istanza MDAInfo come data 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

Vedi anche