LoadLibrary - Abnormal Program Termination
-
Hallo,
mit LoadLibrary lade ich eine regular MFC dll.
AFAIK wird dann sofort die DLLMain bzw. die CWinApp::InitInstance aufgerufen. Ich hatte dort einen nicht reproduzierbaren Crash, weil ich in der InitInstance CoInitialize aufgerufen habe. Folgender Link hat mir dabei geholfen:
http://www.microsoft.com/whdc/driver/kernel/DLL_bestprac.mspxNun habe ich sämtlichen Code aus der InitInstance entfernt. Das Verhalten ist besser, aber nach ca. 100 Durchläufen mit LoadLibrary-FreeLibrary crasht meine Applikation immer noch beim LoadLibrary.
Kennt jemand das Problem, oder noch besser, kennt jemand einen Workaround oder Lösung dafür??
-
LoadLibrary hat allgemein kein Problem das zu so einem Verhalten führen könnte. Zumindest wäre mir keines bekannt. Und ich habe einige Applikationen die dynamisch alles mögliche nachladen, wieder freigeben, wieder nachladen etc.
D.h. es wird daran liegen, was du z.B. in InitInstance und in Konstruktoren von global/statisch instanzierten Klassen machst.
Möglicherweise auch an 100 anderen Sachen
-
Debuggen?
CoInitialize in einer DllMain aufzurufen ist absoluter Humbug. Du kennst doch gar nicht den Threadkontext aus dem Du letzten Endes aufgerufen wirst.