invalidVariant-MDA
Der invalidVariant-MDA (Managed Debugging Assistant, Assistent für verwaltetes Debuggen) wird aktiviert, wenn während des Aufrufs von verwaltetem Code aus systemeigenen oder nicht verwalteten Code eine ungültige VARIANT-Struktur erkannt wird.
Symptome
Unerwartetes Verhalten während des Übergangs zwischen systemeigenem und verwaltetem Code, bei dem das Marshalling einer VARIANT-Struktur in ein Objekt erfolgt.
Ursache
Es wird eine fehlerhafte VARIANT-Struktur von systemeigenem Code an verwalteten Code übergeben. Die CLR versucht, ein Marshalling dieser VARIANT-Struktur in ein Objekt durchzuführen. Der MDA wird aktiviert, wenn die VARIANT-Struktur ungültig ist. Beispiele für ungültige VARIANT-Strukturen sind eine VARIANT-Struktur mit VARTYPE VT_EMPTY | VT_BYREF oder eine VARIANT-Struktur mit VARTYPE VT_VARIANT.
Lösung
Der systemeigene oder nicht verwaltete Code, der die VARIANT-Struktur übergibt, muss sicherstellen, dass die VARIANT-Struktur richtig formatiert und initialisiert ist.
Auswirkungen auf die Laufzeit
Der MDA hat keine Auswirkungen auf das Verhalten der CLR.
Output
Eine Meldung des MDA, dass die CLR die Übergabe einer ungültigen VARIANT-Struktur an verwalteten Code durch ein nicht verwaltetes Modul erkannt hat.
Konfiguration
<mdaConfig>
<assistants>
<invalidVariant />
</assistants>
</mdaConfig>
Siehe auch
Referenz
Konzepte
Diagnostizieren von Fehlern mit Assistenten für verwaltetes Debuggen