相信cefsharp中断点问题会困扰到很多人,以下是我碰到的情况,不知大家是否和我一样。

CefSharp 中断点 已达到中断点_log日志

CefSharp 中断点 已达到中断点_javascript_02

多个项目中使用碰到cefsharp中断点 已到达报错问题!在此记录!

查看两个项目debug文件夹下面的 debug.log日志文件,发现是内存溢出造成。

产生中断点原因:

       1、代码原因导致内存一直在增长!(运行一段时间报异常)

               可以查看任务管理器,程序内存有没有一直在增加;

       2、在另一个项目中发现加载长图也会直接报中断点异常!(直接报异常)

              由于代码中很多视频和大图,导致这个内存溢出经常出现,优化代码后出现频率减小,但是还会出现。

CefSharp 中断点 已达到中断点_内存溢出_03

解决办法:

       查看代码有没有内存溢出现象,修改代码。

      大多数网上报错问题,应该是45版本和49版本。可以升级cefsharp版本解决问题。

CefSharp 中断点 已达到中断点_右键_04

 

当前使用版本为45版本,但是别人用cefsharp 并没有报中断点异常。于是升级cefsharp到63版本,解决中断点问题,可能是cefsharp45版本和49版本的漏洞吧!我只是猜测,45版本没解决问题!

CefSharp 中断点 已达到中断点_javascript_05

使用:

下载后只需替换debug下面的全部文件  

项目右键"添加引用",找到debug下面的:

CefSharp.dll

CefSharp.Core.dll

CefSharp.WinForms.dll

在form中编写测试代码:

using CefSharp;

using CefSharp.WinForms;      

 

public ChromiumWebBrowser browser;

public void InitBrowser(){

    Cef.Initialize(new CefSettings());

    browser = new ChromiumWebBrowser ("www.baidu.com");

    this.Controls.Add(browser);

    browser.Dock = DockStyle.Fill;

}

在InitializeComponent()方法中调用 InitBrowser()。