使用CefSharp 55进行内存访问冲突

时间:2017-04-28 14:28:37

标签: vb.net winforms chromium-embedded cefsharp

在Winforms应用程序中使用CefSharp版本55。我的应用程序有一个选项卡式界面(使用Telerik RadDock),其中每个浏览器实例在不同的选项卡中打开。随机关闭标签时,我会从CEF中获取内存访问冲突,导致应用程序崩溃。关于什么可能导致它的任何想法?它不会始终如一地发生。它似乎更有可能发生在非常旧的计算机上,如果这有帮助,但我们还没有能够将其缩小到特定的处理器或RAM配置。只是旧的PC比新的PC更容易产生错误。

发生这种情况时,错误日志中会生成三条相关消息:

错误1(级别:Error,来源:.NET Runtime):

Application: MyApplication
Framework Version: v4.0.30319
Description: The process was terminated due to an unhandled exception.
Exception Info: exception code c0000005, exception address 72433A3A
Stack:

(是的,Stack是空白的)

错误2(级别:Error,来源:Application Error):

Faulting application name: MyApplication, version: 3.0.1.1, time stamp: 0x5902247a
Faulting module name: unknown, version: 0.0.0.0, time stamp: 0x00000000
Exception code: 0xc0000005

错误3(级别:Information,来源:Windows Error Reporting):

Fault bucket 50, type 5
Event Name: BEX
Response: Not available
Cab Id: 0`

关闭标签时,我们没有做任何异常。没有特殊代码,只是内置选项卡关闭例程,在托管浏览器实例的用户控件的设计器中调用browser.Dispose()。

Protected Overrides Sub Dispose(ByVal disposing As Boolean)
    Try
        If disposing Then
            Browser.Dispose()
            If components IsNot Nothing Then
                components.Dispose()
            End If
        End If
    Finally
        MyBase.Dispose(disposing)
    End Try
End Sub

0 个答案:

没有答案