I know this topic has been discused many times but I cannot find the problem I am getting. I am trying to add CEF3 in a project with MFC in a Shared DLL option.
In Debug, CefInitialize is always breaking at some LogMessage destruction:
- Code: Select all
libcef.dll!base::debug::BreakDebugger() Line 21 C++
libcef.dll!logging::LogMessage::~LogMessage() Line 604 C++
libcef.dll!base::i18n::InitializeICU() Line 238 C++
libcef.dll!content::ContentMainRunnerImpl::Initialize(const content::ContentMainParams & params) Line 717 + 0x5 bytes C++
libcef.dll!CefContext::Initialize(const CefMainArgs & args, const CefStructBase<CefSettingsTraits> & settings, CefRefPtr<CefApp> application, void * windows_sandbox_info) Line 268 + 0x2d bytes C++
libcef.dll!CefInitialize(const CefMainArgs & args, const CefStructBase<CefSettingsTraits> & settings, CefRefPtr<CefApp> application, void * windows_sandbox_info) Line 130 + 0x23 bytes C++
libcef.dll!cef_initialize(const _cef_main_args_t * args, const _cef_settings_t * settings, _cef_app_t * application, void * windows_sandbox_info) Line 178 + 0x24 bytes C++
> CEFMFC.exe!CefInitialize(const CefMainArgs & args, const CefStructBase<CefSettingsTraits> & settings, CefRefPtr<CefApp> application, void * windows_sandbox_info) Line 170 + 0x6b bytes C++
CEFMFC.exe!CCEFMFCApp::InitInstance() Line 112 + 0x3a bytes C++
If I continue the break, another places break at the same place, like:
- Code: Select all
libcef.dll!base::debug::BreakDebugger() Line 21 C++
libcef.dll!logging::LogMessage::~LogMessage() Line 604 C++
libcef.dll!`anonymous namespace'::RegisterLocalizedFontPref(user_prefs::PrefRegistrySyncable * registry, const char * path, int default_message_id) Line 318 C++
libcef.dll!PrefsTabHelper::RegisterProfilePrefs(user_prefs::PrefRegistrySyncable * registry) Line 585 + 0x13 bytes C++
libcef.dll!renderer_prefs::RegisterProfilePrefs(user_prefs::PrefRegistrySyncable * registry) Line 341 + 0x9 bytes C++
libcef.dll!browser_prefs::CreatePrefService(const base::FilePath & pref_path) Line 128 + 0xe bytes C++
libcef.dll!CefBrowserContextImpl::Initialize() Line 183 + 0x13 bytes C++
libcef.dll!CefBrowserMainParts::PreMainMessageLoopRun() Line 148 + 0x29 bytes C++
libcef.dll!content::BrowserMainLoop::PreMainMessageLoopRun() Line 915 + 0x20 bytes C++
libcef.dll!base::internal::RunnableAdapter<int (__thiscall content::BrowserMainLoop::*)(void)>::Run(content::BrowserMainLoop * object) Line 176 + 0xc bytes C++
libcef.dll!base::internal::InvokeHelper<0,int,base::internal::RunnableAdapter<int (__thiscall content::BrowserMainLoop::*)(void)>,base::internal::TypeList<content::BrowserMainLoop *> >::MakeItSo(base::internal::RunnableAdapter<int (__thiscall content::BrowserMainLoop::*)(void)> runnable) Line 287 C++
libcef.dll!base::internal::Invoker<base::IndexSequence<0>,base::internal::BindState<base::internal::RunnableAdapter<int (__thiscall content::BrowserMainLoop::*)(void)>,int __cdecl(content::BrowserMainLoop *),base::internal::TypeList<base::internal::UnretainedWrapper<content::BrowserMainLoop> > >,base::internal::TypeList<base::internal::UnwrapTraits<base::internal::UnretainedWrapper<content::BrowserMainLoop> > >,base::internal::InvokeHelper<0,int,base::internal::RunnableAdapter<int (__thiscall content::BrowserMainLoop::*)(void)>,base::internal::TypeList<content::BrowserMainLoop *> >,int __cdecl(void)>::Run(base::internal::BindStateBase * base) Line 346 + 0x27 bytes C++
libcef.dll!base::Callback<int __cdecl(void)>::Run() Line 396 + 0xe bytes C++
libcef.dll!content::StartupTaskRunner::RunAllTasksNow() Line 45 + 0xf bytes C++
libcef.dll!content::BrowserMainLoop::CreateStartupTasks() Line 806 C++
libcef.dll!content::BrowserMainRunnerImpl::Initialize(const content::MainFunctionParams & parameters) Line 221 C++
libcef.dll!CefMainDelegate::RunProcess(const std::basic_string<char,std::char_traits<char>,std::allocator<char> > & process_type, const content::MainFunctionParams & main_function_params) Line 604 + 0x2a bytes C++
libcef.dll!content::RunNamedProcessTypeMain(const std::basic_string<char,std::char_traits<char>,std::allocator<char> > & process_type, const content::MainFunctionParams & main_function_params, content::ContentMainDelegate * delegate) Line 366 + 0x17 bytes C++
libcef.dll!content::ContentMainRunnerImpl::Run() Line 804 + 0x14 bytes C++
libcef.dll!CefContext::Initialize(const CefMainArgs & args, const CefStructBase<CefSettingsTraits> & settings, CefRefPtr<CefApp> application, void * windows_sandbox_info) Line 283 + 0x29 bytes C++
libcef.dll!CefInitialize(const CefMainArgs & args, const CefStructBase<CefSettingsTraits> & settings, CefRefPtr<CefApp> application, void * windows_sandbox_info) Line 130 + 0x23 bytes C++
libcef.dll!cef_initialize(const _cef_main_args_t * args, const _cef_settings_t * settings, _cef_app_t * application, void * windows_sandbox_info) Line 178 + 0x24 bytes C++
> CEFMFC.exe!CefInitialize(const CefMainArgs & args, const CefStructBase<CefSettingsTraits> & settings, CefRefPtr<CefApp> application, void * windows_sandbox_info) Line 170 + 0x6b bytes C++
CEFMFC.exe!CCEFMFCApp::InitInstance() Line 112 + 0x3a bytes C++
After continue all breaks, nothing is rendered.
I use already compiled CEF3 TRUNK from cefbuilds.com. CEF3 branch 2272 has the same result. I use VS2010 SP1.
I could successfully add CEF1 to my project (although one break appears at the begining) and html is rendered correctly
In CEF3, using MFC as a static library has the same result. cefclient and cefsimple examples work correctly.
I compiled libcef_dll_wrapper consequently with MFC option selected.
Sample MFC CEF project used comes from https://code.google.com/p/cef-mfc/sourc ... g%2FCEFMFC
Any idea of what is going on?
Thanks!