自由国度

.Net、C#、WPF、Silverlight、HTML5、JavaScript等,好好写代码。

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

 

描述

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

 

症状

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

 

原因

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

 

解决办法

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

 

对运行时的影响

此 MDA 对 CLR 无任何影响。

 

 输出

一条描述此错误的消息。

 

 配置

<mdaConfig>

  <assistants>

    <raceOnRCWCleanup/>

  </assistants>

</mdaConfig>

 

posted on 2009-12-01 09:09  彬子  阅读(672)  评论(0编辑  收藏  举报