reportAvOnComRelease-MDA
Der reportAvOnComRelease-MDA (Managed Debugging Assistant, Assistent für verwaltetes Debuggen) wird aktiviert, wenn aufgrund von Fehlern bei der Benutzerverweiszählung Ausnahmen ausgelöst werden, während COM-Interop durchgeführt und die Release-Methode bzw. die ReleaseComObject-Methode in Kombination mit Rohdaten-COM-Aufrufen verwendet wird.
Symptome
Zugriffsverletzungen und Speicherschäden.
Ursache
Gelegentlich wird durch Fehler bei der Benutzerverweiszählung eine Ausnahme ausgelöst, während COM-Interop durchgeführt und die Release-Methode bzw. die ReleaseComObject-Methode in Kombination mit Rohdaten-COM-Aufrufen verwendet wird. Normalerweise wird diese Ausnahme verworfen, da es andernfalls zu einer Zugriffsverletzung in der CLR kommt und diese beendet wird. Wenn dieser Assistent aktiviert wird, können solche Ausnahmen festgestellt und gemeldet werden, anstatt sie einfach zu verwerfen.
Lösung
Überprüfen Sie den Programmcode für die Verweiszählung, und suchen Sie nach Fehlern. Untersuchen Sie auch die systemeigenen Clients des Objekts auf Fehler bei der Verweiszählung.
Auswirkungen auf die Laufzeit
Es sind zwei Modi verfügbar. Wenn das allowAv-Attribut true ist, verhindert der Assistent, dass die CLR die Zugriffsverletzung verwirft. Wenn allowAv den Wert false hat (Standard), verwirft die CLR die Zugriffsverletzung. Dem Benutzer wird jedoch eine Warnmeldung angezeigt, um darauf hinzuweisen, dass eine Ausnahme aufgetreten ist und verworfen wurde.
Output
Die Ausgabe enthält nach Möglichkeit die ursprüngliche Vtable des COM-Schnittstellenzeigers. Andernfalls wird eine Informationsmeldung angezeigt.
Konfiguration
<mdaConfig>
<assistants>
<reportAvOnComRelease allowAv="false"/>
</assistants>
</mdaConfig>
Siehe auch
Referenz
Konzepte
Diagnostizieren von Fehlern mit Assistenten für verwaltetes Debuggen