2017-08-08 1 views
0

Je crée une DLL MFC, qui implémente CEF initialize, shutdown et d'autres fonctions. Lorsque j'utilise cette DLL, CefInitialize et d'autres fonctions tout normal, mais mon programme se bloque dans AfxFreeLibrary. À ce moment, CEF Shutdown a connu un succès et aucune erreur ne s'est produite.CEF se bloque lors de l'appel AfxFreelibrary

Ceci est mon CefSetting:

CefSettings cefSettings; 
CefSettingsTraits::init(&cefSettings); 
cefSettings.windowless_rendering_enabled = TRUE; 
cefSettings.multi_threaded_message_loop = TRUE; 
cefSettings.no_sandbox = TRUE; 
cefSettings.single_process = false; 

C'est la pile d'appel:

Call stack

il semble que le fil attendre un délai d'attente de l'événement et déclencher NOTREACHED();

Comment puis-je résoudre ce problème?

Répondre

0

Sans plus d'informations, il est difficile de donner des conseils. Veuillez vous assurer que la structure de votre demande est correcte. Vous pouvez consulter la section "Application Structure" de la documentation. Votre processus est démarré plusieurs fois, vous devez donc vous assurer que les autres processus peuvent démarrer correctement. En fonction de la structure de l'application, il est possible de travailler avec un «exécutable de sous-processus séparé». Je pense que c'est généralement une bonne approche de travailler avec un sous-processus exécutable séparé car il simplifie beaucoup.

Btw. vous pouvez facilement tester si la structure d'application est un problème en cours d'exécution avec

cefSettings.single_process = false; 

Si tout fonctionne bien dans ce cas, je commence à enquêter sur la façon dont votre application est en cours d'exécution dans la configuration multi-processus.