Freigeben über


raceOnRCWCleanup-MDA

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.

Output

Eine Meldung mit einer Beschreibung des Fehlers.

Konfiguration

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

Siehe auch

Referenz

MarshalAsAttribute

Konzepte

Diagnostizieren von Fehlern mit Assistenten für verwaltetes Debuggen

Interop-Marshalling

Weitere Ressourcen

Interoperabilität