我的應用程序中出現間歇性崩潰的情況,我們使用延遲加載DLL。有幾個不同的調用堆棧,我們已經看到了崩潰,但在__delayLoadHelper2
中調用0xC06D007E: Module not found
時總是崩潰。延遲加載DLL:當應用程序啓動多次時出現「異常0xC06D007E:模塊未找到」
當連續多次調用進程(串聯)時引發異常。這裏是一個示例調用堆棧:
KERNELBASE.dll!RaiseException() + 0x3d bytes
MYDLL.dll!__delayLoadHelper2(const ImgDelayDescr * pidd=0x000000000012f650, __int64 (void)* * ppfnIATEntry=0x000000000012f570) Line 331 C++
MYDLL.dll!__tailMerge_MyDelayLoadDLL_dll() + 0x3f bytes Unknown
MYDLL.dll!MyUserFunction() Line 91 + 0x5 bytes C++
C++應用程序正在使用延遲加載DLL來加載.NET代碼。
發生崩潰的計算機是功能非常強大的機器(12核CPU,48 gig ram),我不確定它是否對它有影響。但是,由於崩潰並非一直髮生,它看起來像是一種競爭狀態或資源問題。
本次論壇主題介紹了我的情況,但目前還沒有解決 http://social.msdn.microsoft.com/Forums/en/clr/thread/9f00bdf0-3ea7-4a1f-b5a7-9b5bbc009888
任何想法,這可能是爲什麼發生?