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 ギガ RAM) であり、影響があるかどうかはわかりません。しかし、クラッシュは常に発生するわけではないため、競合状態またはリソースの問題のように見えます。
このフォーラム スレッドは私のケースを説明していますが、解決策はありません。
なぜこれが起こっているのでしょうか?