У меня есть dll mytest.dll, которая при загрузке через LoadLibrary()
возвращает NULL (и 127 как GetLastError()
). Если я использую DependencyWalker для «mytest.dll», он сообщает, что должен загружаться правильно и что все библиотеки DLL найдены правильно. Запуск опции профилировщика DependencyWalker на хосте exe дает мне этот соответствующий раздел в журнале:
00:00:55.099: Loaded "mytest.DLL" at address 0x07860000 by thread 0xBBC. Successfully hooked module. 00:00:55.115: First chance exception 0xC0000139 (DLL Not Found) occurred in "NTDLL.DLL" at address 0x76E24285 by thread 0xBBC. 00:00:55.115: Unloaded "mytest.DLL" at address 0x07860000 by thread 0xBBC. 00:00:55.115: LoadLibraryW("mytest.dll") returned NULL by thread 0xBBC. Error: The specified procedure could not be found (127).
Есть ли способ отладить это, чтобы узнать, что пытается найти сообщение DLL Not Found, которое сообщает NTDLL.DLL? Или мне следует искать источник проблемы в другом месте?
Обратите внимание, что загрузка той же «mytest.DLL» из другого приложения, похоже, работает правильно.