raceOnRCWCleanup MDA

如果使用 Marshal.ReleaseComObject 方法之类的命令发出释放 运行时可调用包装 (RCW) 的调用,而公共语言运行时 (CLR) 检测到该 RCW 正在使用,则将激活 raceOnRCWCleanup 托管调试助手 (MDA)。

症状

在使用 ReleaseComObject 或类似方法释放 RCW 期间或之后发生访问冲突或内存损坏。

原因

正在另一个线程或释放线程堆栈上使用 RCW。 无法释放正在使用的 RCW。

解决方法

不要释放当前或其他线程中可能正在使用的 RCW。

对运行时的影响

此 MDA 对 CLR 无任何影响。

Output

一条描述此错误的消息。

配置

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

请参见

参考

MarshalAsAttribute

概念

使用托管调试助手诊断错误

互操作封送处理

其他资源

互操作性