Trong vài năm qua, tôi đã sử dụng WPF trong ứng dụng chế độ hỗn hợp để hiển thị các bit khác nhau & phần giao diện người dùng. WPF được sử dụng bởi một assembly C# để tạo ra giao diện người dùng - nó tham khảo một assembly C++/CLI có chứa một số mã nguồn gốc. Mã gốc không thực hiện các cuộc gọi hệ điều hành nào ngoài một số printf; nó hoàn toàn là tính toán.RaceOnRCWCleanup khi đóng các ứng dụng WPF
Khi chạy với trình gỡ rối được đính kèm, tôi thấy trợ lý gỡ lỗi được quản lý "RaceOnRCWCleanup" sau khi đóng ứng dụng - gợi ý có một số thành phần COM với các vấn đề dọn dẹp đa luồng.
Tôi không sử dụng COM trực tiếp, nhưng có lẽ C++/CLI hoặc WPF là. Cảnh báo về việc tắt ứng dụng không phải là đáng sợ - sau khi tất cả, ứng dụng đang thoát anyway - nhưng tôi rất muốn hiểu những gì đang xảy ra. Tôi có thể làm gì để tránh cảnh báo này không? Có một con bọ ẩn nào đó đang đợi tôi cắn, hay là một cảnh báo giả mạo?
Đây là một ví dụ stacktrace:
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#
Có ai trải qua cùng một vấn đề? Có ai biết chuyện gì đang diễn ra không?
Chúng tôi vừa mới bắt đầu gặp sự cố này sau khi nâng cấp các dự án của chúng tôi từ .Net 3.5 lên 4.0. –