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- oder die ReleaseComObject-Methode in Kombination mit Rohdaten-COM-Aufrufen verwendet wird.

Symptome

Zugriffsverletzungen und Speicherschäden.

Ursache

Es kann vorkommen, dass durch Fehler bei der Benutzerverweiszählung eine Ausnahme ausgelöst wird, während COM-Interop durchgeführt und die Release- oder 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 kommen kann, wodurch diese beendet wird. Ist dieser Assistent aktiviert, können solche Ausnahmen festgestellt und gemeldet werden, anstatt sie einfach zu verwerfen.

Lösung

Überprüfen Sie den Verweiszählungscode und prüfen Sie auch die systemeigenen Clients Ihres Objekts auf Fehler bei der Verweiszählung.

Auswirkungen auf die Laufzeit

Es sind zwei Modi verfügbar. Ist das allowAv-Attribut true, verhindert der Assistent, dass die Laufzeit die Zugriffsverletzung verwirft. Hat allowAv den Standardwert false, verwirft die Laufzeit die Zugriffsverletzung und der Benutzer erhält die Warnmeldung, dass eine Ausnahme ausgelöst und verworfen wurde.

Ausgabe

Wenn möglich, enthält die Ausgabe den ursprünglichen vtable des COM-Schnittstellenzeigers. Andernfalls wird eine Informationsmeldung angezeigt.

Konfiguration

<mdaConfig>  
  <assistants>  
    <reportAvOnComRelease />  
  </assistants>  
</mdaConfig>  

Weitere Informationen