爲什麼我不能調試我的應用程序(雖然編譯好)?
1.它真的需要Windows DLL嗎?我如何附加他們?
2.爲什麼它不能識別我的Dll?它駐留在相同的文件夾中。C++ 編譯成功,無法調試 - STATUS_DLL_NOT_FOUND
(VS2005,主程序是C++與C#代碼)。
的錯誤是 - 調試::未處理的非可持續STATUS_DLL_NOT_FOUND異常被處理
'Transcriber.exe': Loaded 'D:\Folder\Transcriber.exe', Symbols loaded.
'Transcriber.exe': Loaded 'C:\WINDOWS\system32\ntdll.dll', No symbols loaded.
'Transcriber.exe': Loaded 'C:\WINDOWS\system32\kernel32.dll', No symbols loaded.
'Transcriber.exe': Loaded 'D:\Folder\RegAccess71.dll', No symbols loaded.
'Transcriber.exe': Loaded 'C:\WINDOWS\WinSxS\x86_Microsoft.VC80.MFC_1fc8b3b9a1e18e3b_8.0.50727.4027_x-ww_b779ebd5\mfc80.dll', No symbols loaded.
'Transcriber.exe': Loaded 'C:\WINDOWS\WinSxS\x86_Microsoft.VC80.CRT_1fc8b3b9a1e18e3b_8.0.50727.4053_x-ww_e6967989\msvcr80.dll', No symbols loaded.
'Transcriber.exe': Loaded 'C:\WINDOWS\system32\msvcrt.dll', No symbols loaded.
'Transcriber.exe': Loaded 'C:\WINDOWS\system32\gdi32.dll', No symbols loaded.
'Transcriber.exe': Loaded 'C:\WINDOWS\system32\user32.dll', No symbols loaded.
'Transcriber.exe': Loaded 'C:\WINDOWS\system32\shlwapi.dll', No symbols loaded.
'Transcriber.exe': Loaded 'C:\WINDOWS\system32\advapi32.dll', No symbols loaded.
'Transcriber.exe': Loaded 'C:\WINDOWS\system32\rpcrt4.dll', No symbols loaded.
'Transcriber.exe': Loaded 'C:\WINDOWS\system32\secur32.dll', No symbols loaded.
'Transcriber.exe': Loaded 'C:\WINDOWS\system32\oleaut32.dll', No symbols loaded.
'Transcriber.exe': Loaded 'C:\WINDOWS\system32\ole32.dll', No symbols loaded.
'Transcriber.exe': Loaded 'D:\Folder\MetaData.dll', Symbols loaded.
'Transcriber.exe': Loaded 'C:\WINDOWS\system32\mscoree.dll', No symbols loaded.
'Transcriber.exe': Loaded 'C:\WINDOWS\system32\imm32.dll', No symbols loaded.
'Transcriber.exe': Loaded 'C:\WINDOWS\system32\lpk.dll', No symbols loaded.
'Transcriber.exe': Loaded 'C:\WINDOWS\system32\usp10.dll', No symbols loaded.
'Transcriber.exe': Loaded 'C:\WINDOWS\system32\HookDll.dll', Binary was not built with debug information.
'Transcriber.exe': Loaded 'C:\WINDOWS\WinSxS\x86_Microsoft.VC80.MFCLOC_1fc8b3b9a1e18e3b_8.0.50727.4027_x-ww_0cc904d3\mfc80ENU.dll', Binary was not built with debug information.
'Transcriber.exe': Loaded 'C:\WINDOWS\WinSxS\x86_Microsoft.VC80.DebugCRT_1fc8b3b9a1e18e3b_8.0.50727.42_x-ww_f75eb16c\msvcr80d.dll', Symbols loaded.
'Transcriber.exe': Loaded 'C:\WINDOWS\WinSxS\x86_Microsoft.VC80.DebugMFC_1fc8b3b9a1e18e3b_8.0.50727.42_x-ww_c8452471\mfc80d.dll', Symbols loaded.
'Transcriber.exe': Loaded 'C:\WINDOWS\WinSxS\x86_Microsoft.VC80.DebugCRT_1fc8b3b9a1e18e3b_8.0.50727.42_x-ww_f75eb16c\msvcm80d.dll', Symbols loaded.
'Transcriber.exe': Loaded 'D:\Folder\ITSConfigWrapper.dll', Symbols loaded.
'Transcriber.exe': Loaded 'D:\Folder\InfoTransformerWrapper.dll', Symbols loaded.
'Transcriber.exe': Loaded 'C:\WINDOWS\system32\dbghelp.dll', No symbols loaded.
'Transcriber.exe': Loaded 'C:\WINDOWS\system32\version.dll', No symbols loaded.
'Transcriber.exe': Loaded 'C:\WINDOWS\WinSxS\x86_Microsoft.VC80.DebugMFC_1fc8b3b9a1e18e3b_8.0.50727.42_x-ww_c8452471\mfc80ud.dll', Symbols loaded.
'Transcriber.exe': Loaded 'C:\WINDOWS\system32\shell32.dll', No symbols loaded.
'Transcriber.exe': Loaded 'C:\WINDOWS\WinSxS\x86_Microsoft.VC80.ATL_1fc8b3b9a1e18e3b_8.0.50727.4053_x-ww_473666fd\ATL80.dll', No symbols loaded.
'Transcriber.exe': Loaded 'D:\Folder\LoggerClientD.dll', No symbols loaded.
**Debugger:: An unhandled non-continuable STATUS_DLL_NOT_FOUND exception was thrown during process** load
The program '[4224] Transcriber.exe: Native' has exited with code -1073741515 (0xc0000135).
你知道哪個DLL無法加載嗎? (可能在加載過程中嘗試使用sysinternals procmon或filemon)您是否給DLL提供了與system32中相同的名稱,例如Security.dll,它可能認爲你試圖覆蓋的惡意原因?嘗試在Dependency Walker或類似文件中打開你的二進制文件,看看是否也顯示任何錯誤。 – Rup 2011-05-24 13:27:11
依賴步行者似乎是一條偉大的道路。我確實有幾個警報。現在我唯一遇到的文件是MFC71D.dll - 獲取此文件的最快和最安全的方法是什麼? (我沒有在我的機器上)。謝謝。 – Eyal 2011-05-24 13:57:11
這是來自Visual Studio 2003的MFC的調試版本。您真的不想混合MFC版本 - 您應該計算出哪個DLL包含它,然後嘗試獲取使用2005構建的DLL的新版本 - 即端口如果你有代碼,你自己。 – Rup 2011-05-24 14:08:02