У меня есть случайный сбой в моем приложении, когда мы используем Delay Load DLL.Есть несколько разных стеков вызовов, в которых мы видели сбой, но он всегда вылетает при повышении 0xC06D007E: Module not found
в __delayLoadHelper2
.
Исключение возникает при вызове процесса несколько раз подряд (последовательно).Вот пример стека вызовов:
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 ++ использует Delay Load DLL для загрузки кода .NET.
Компьютер, на котором происходит сбой, является очень мощным компьютером (12 ядер).CPU, 48 гигабайт оперативной памяти), я не уверен, влияет ли это на него.Но поскольку сбой происходит не всегда, он выглядит как состояние гонки или проблема с ресурсами.
Эта ветка форума описывает мой случай, но решения не найдено.
Есть идеи, почему это может происходить?