MDAInfo-Struktur
Bietet Details zum Event_MDAFired
-Ereignis, das die Erstellung eines Assistenten für verwaltetes Debuggen (Managed Debugging Assistant, MDA) auslöst.
Syntax
typedef struct _MDAInfo {
LPCWSTR lpMDACaption;
LPCWSTR lpMDAMessage
} MDAInfo;
Member
Member | Beschreibung |
---|---|
lpMDACaption |
Der Titel des aktuellen MDA. Der Titel beschreibt die Art des Fehlers, der das Event_MDAFired -Ereignis ausgelöst hat. |
lpMDAMessage |
Die vom aktuellen MDA bereitgestellte Ausgabemeldung. |
Bemerkungen
Assistenten für verwaltetes Debuggen (Managed Debugging Assistants, MDAs) sind Debughilfen, die zusammen mit der Common Language Runtime (CLR) Aufgaben ausführen, z. B. das Identifizieren ungültiger Bedingungen in der Runtimeausführungs-Engine oder das Dumpen zusätzlicher Informationen zum Zustand der Engine. MDAs generieren XML-Nachrichten zu Ereignissen, die andernfalls nur schwer zu erkennen sind. Sie sind besonders hilfreich beim Debuggen von Übergängen zwischen verwaltetem und nicht verwaltetem Code.
Die Runtime führt die folgenden Schritte aus, wenn ein Ereignis ausgelöst wird, das wiederum die Erstellung eines MDA auslöst:
Wenn der Host nicht ICLROnEventManager::RegisterActionOnEvent aufgerufen hat, um eine IActionOnCLREvent-Instanz zu registrieren und über ein
Event_MDAFired
-Ereignis benachrichtigt zu werden, fährt die Runtime mit dem standardmäßigen, nicht gehosteten Verhalten fort.Wenn im Host ein Handler für dieses Ereignis registriert ist, überprüft die Runtime, ob ein Debugger an den Prozess angefügt ist. Ist dies der Fall, unterbricht die Runtime, und der Debugger wird gestartet. Wenn der Debugger fortfährt, ruft er den Host auf. Wenn kein Debugger angefügt ist, ruft die Runtime
IActionOnCLREvent::OnEvent
auf und übergibt einen Zeiger auf eineMDAInfo
-Instanz alsdata
-Parameter.
Der Host kann auswählen, dass MDAs aktiviert werden und der Host benachrichtigt wird, wenn ein MDA aktiviert wird. Dadurch erhält der Host die Möglichkeit, das Standardverhalten zu überschreiben und den verwalteten Thread abzubrechen, der das Ereignis ausgelöst hat, um zu verhindern, dass der Thread den Prozesszustand beschädigt. Weitere Informationen zur Verwendung von MDAs finden Sie unter Diagnostizieren von Fehlern mit Assistenten für verwaltetes Debuggen.
Anforderungen
Plattformen: Informationen finden Sie unter Systemanforderungen.
Header: MSCorEE.idl
Bibliothek: Als Ressource in „MsCorEE.dll“ enthalten.
.NET Framework-Versionen: Seit 2.0 verfügbar.