博客日历
2024年11月 | ||||||
一 | 二 | 三 | 四 | 五 | 六 | 七 |
28 | 29 | 30 | 31 | 1 | 2 | 3 |
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 1 |
存档
2024年03月 04月 05月 2021年
01月 02月 11月 12月 2020年
02月 03月 04月 05月 06月 07月
09月 2018年
09月 2017年
01月 02月 07月 2016年
01月 04月 07月 08月 11月 12月
2015年
01月 02月 03月 05月 09月 10月
11月 2014年
01月 02月 03月 04月 05月 06月
07月 08月 09月 10月 11月 12月
2013年
01月 02月 03月 04月 05月 06月
07月 08月 09月 10月 11月 12月
2012年
01月 02月 03月 04月 05月 06月
07月 08月 09月 10月 11月 12月
2011年
01月 02月 03月 04月 05月 06月
07月 08月 09月 10月 11月 12月
2010年
01月 02月 03月 04月 05月 06月
07月 08月 09月 10月 11月 12月
2009年
03月 04月 05月 06月 07月 08月
09月 10月 11月 12月
LibCef的使用6-退出时崩溃的问题
上面的程序在退出时,会崩溃(Release模式不会崩溃)。
接下来把libcef.dll.pdb解压到我们的程序目录,调试运行,看一下崩溃点。
调试发现崩溃在:
libcef.dll!`anonymous namespace'::CefShutdownChecker::~CefShutdownChecker()
这是网上文章中使用较多的关闭流程,但在Debug模式下仍然会在退出后崩溃。
bool MyCefClient::DoClose(CefRefPtr<CefBrowser> browser) { base::AutoLock lock_scope(lock_); browser_ = NULL; // 返回false之后,主窗口会再次收到WM_CLOSE return false; } void CHelloCefDlg::OnClose() { CefRefPtr<CefBrowser> browser = handler->GetBrowser(); if (browser != NULL) { // 此时触发DoClose // 但会导致OnBeforeClose不执行 browser->GetHost()->CloseBrowser(false); return; } CDialogEx::OnClose(); }
因此,我们以后就只使用Release版本吧(暂时)。
上一篇: LibCef的使用5-所有链接在同一窗口打开
下一篇: LibCef的使用7-执行/调用JS
分类:Win32/C++ 查看次数:669 发布时间:2020/5/6 8:00:52