raceOnRCWCleanup MDA
注意
本文特定于 .NET Framework。 它不适用于 .NET 的较新版本实现,包括 .NET 6 及更高版本。
当使用命令(如 Marshal.ReleaseComObject 方法)发出一个调用来发布运行时可调用包装 (RCW) 时,如果公共语言运行时 (CLR) 检测到该包装正在使用中,则激活 raceOnRCWCleanup
托管调试助手 (MDA)。
症状
使用 ReleaseComObject 或类似方法释放 RCW 期间或之后发生访问冲突或内存损坏。
原因
正在另一个线程中或释放线程堆栈中使用 RCW。 无法释放使用中的 RCW。
解决方法
不要释放在当前或在其他线程中可能使用的 RCW。
对运行时的影响
此 MDA 对 CLR 无任何影响。
输出
描述错误的消息。
Configuration
<mdaConfig>
<assistants>
<raceOnRCWCleanup/>
</assistants>
</mdaConfig>