Eam*_*nne 7 .net wpf clr race-condition
在过去的几年里,我一直在混合模式的应用程序中使用WPF来显示各种各样的UI.C#程序集使用WPF生成UI - 它引用包含一些本机代码的C++/CLI构建的程序集.本机代码不会在少数printf之外调用OS; 这纯粹是计算机.
当附加调试器运行时,我看到关闭应用程序后,托管调试助手"RaceOnRCWCleanup"激活 - 表明存在一些带有多线程清理问题的COM组件.
我不是直接以任何方式使用COM,但可能是C++/CLI或WPF.关于应用程序关闭的警告并不是特别可怕 - 毕竟,应用程序仍在退出 - 但我很想知道出了什么问题.我能做些什么来避免这个警告吗?某个地方是否有一个隐藏的错误等着咬我,还是一个虚假的警告?
这是一个示例堆栈跟踪:
mscorlib.dll!System.Runtime.InteropServices.Marshal.ReleaseComObject(object o) Line 1826 + 0xc bytes C#
PresentationFramework.dll!System.Windows.Documents.TextServicesHost.DeactivateThreadManager() Line 465 + 0xd bytes C#
PresentationFramework.dll!System.Windows.Documents.TextServicesHost.OnUnregisterTextStore(object arg) Line 331 C#
PresentationFramework.dll!System.Windows.Documents.TextEditor.DetachTextStore(bool finalizer) Line 249 + 0x6b bytes C#
WindowsBase.dll!System.Windows.Threading.Dispatcher.ShutdownImplInSecurityContext(object state) Line 1363 + 0xfffffffc bytes C#
mscorlib.dll!System.Threading.ExecutionContext.runTryCode(object userData) Line 484 + 0xce bytes C#
Run Code Online (Sandbox Code Playgroud)
有没有人遇到过同样的问题?有人知道发生了什么吗?
从什么时候开始你得到这个异常?今天我也在我们的 wpf 业务应用程序上第一次得到它。每次我关闭应用程序时,它都会连续发生,而无需进行重大更改。也许某些Windows更新是万恶之源?我们还不知道它从哪里来,也不知道如何预防它。一旦我们设法解决异常问题,我将立即发布解决方案。我认为这与您的 C++/CLI 程序集无关。我们不使用 C++/CLI 程序集。
扬
| 归档时间: |
|
| 查看次数: |
803 次 |
| 最近记录: |