Share via


raceOnRCWCleanup-MDA

Aktualisiert: November 2007

Der raceOnRCWCleanup-MDA (Managed Debugging Assistant, Assistent für verwaltetes Debuggen) wird aktiviert, wenn in der CLR (Common Language Runtime) erkannt wird, dass ein Runtime Callable Wrapper (RCW) (RCW) in Gebrauch ist, während mit einem Befehl wie der Marshal.ReleaseComObject-Methode ein Aufruf zur Freigabe erfolgt.

Symptome

Zugriffsverletzungen oder Speicherschäden während oder nach dem Freigeben eines RCW mit ReleaseComObject oder einer ähnlichen Methode.

Ursache

Der RCW wird von einem anderen Thread oder von dem Threadstapel verwendet, der gerade freigegeben wird. Ein RCW, der in Gebrauch ist, kann nicht freigegeben werden.

Lösung

Geben Sie keinen RCW frei, der möglicherweise noch vom aktuellen Thread oder von anderen Threads verwendet wird.

Auswirkungen auf die Laufzeit

Dieser MDA hat keine Auswirkungen auf die CLR.

Ausgabe

Eine Meldung mit einer Beschreibung des Fehlers.

Konfiguration

<mdaConfig>
  <assistants>
    <raceOnRCWCleanup/>
  </assistants>
</mdaConfig>

Siehe auch

Konzepte

Diagnostizieren von Fehlern mit Assistenten für verwaltetes Debuggen

Übersicht über das Interop-Marshalling

Referenz

MarshalAsAttribute

Weitere Ressourcen

Interoperabilität