次の方法で共有


raceOnRCWCleanup MDA

Note

この記事は .NET Framework に固有のものです。 .NET 6 以降のバージョンを含む、.NET の新しい実装には適用されません。

Marshal.ReleaseComObject メソッドなどのコマンドを使用して ランタイム呼び出し可能ラッパー (RCW: Runtime Callable Wrapper) を解放する呼び出しがなされた時点でその RCW が使用中であることを共通言語ランタイム (CLR: Common Language Runtime) が検出すると、raceOnRCWCleanup マネージド デバッグ アシスタント (MDA: Managed Debugging Assistant) がアクティブ化されます。

現象

ReleaseComObject メソッド、または類似メソッドを使用して RCW が解放中または解放後に、アクセス違反またはメモリ破損が発生します。

原因

別のスレッドまたは解放中のスレッド スタックで、RCW が使用中です。 使用中の RCW は解放できません。

解決方法

現在のスレッドまたは他のスレッドで使用中の可能性がある RCW は、解放しないでください。

ランタイムへの影響

この MDA は CLR に影響しません。

出力

エラーを説明するメッセージです。

構成

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

関連項目