C++ c++;\编译成功,可以';t调试-未找到状态\u DLL\u

C++ c++;\编译成功,可以';t调试-未找到状态\u DLL\u,c++,debugging,dll,visual-studio-2005,symbols,C++,Debugging,Dll,Visual Studio 2005,Symbols,为什么我不能调试我的应用程序(尽管编译很好)? 1.它真的需要windows DLL吗?如何连接它们? 2.为什么它不能识别我的DLL?它位于同一文件夹中 (VS2005,主程序为C++ + C代码)。 错误是-Debugger::在进程期间引发了未处理的不可继续状态\u DLL\u NOT\u FOUND异常 'Transcriber.exe': Loaded 'D:\Folder\Transcriber.exe', Symbols loaded. 'Transcriber.exe': Loa

为什么我不能调试我的应用程序(尽管编译很好)?
1.它真的需要windows DLL吗?如何连接它们?
2.为什么它不能识别我的DLL?它位于同一文件夹中

(VS2005,主程序为C++ + C代码)。 错误是-Debugger::在进程期间引发了未处理的不可继续状态\u DLL\u NOT\u 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文件。检查链接器设置,确保应用程序所依赖的所有DLL都位于它们应该位于的位置(即,与可执行文件位于同一文件夹中,或位于DLL搜索路径的其他位置)。

您正在加载MFC的发行版和调试版以及C运行时。遗憾的是,这从来都不起作用。您需要使用所有DLL的释放模式或所有DLL的调试模式。

您知道它无法加载哪个DLL吗?(可能在加载过程中尝试sysinternals procmon或filemon?)您是否为DLL指定了与system32中的DLL相同的名称,例如Security.DLL,它可能认为您是出于恶意原因试图覆盖该DLL?尝试在Dependency Walker或类似工具中打开二进制文件,看看是否也有错误。Dependency Walker似乎是一条很好的途径。我确实收到了几个警报。现在我唯一挣扎的文件是MFC71D.dll——获取此文件的最快和最安全的方法是什么?(我的机器上没有)。谢谢。这是VisualStudio2003中MFC的调试版本。你真的不想混用MFC版本-你可能应该弄清楚哪个DLL包含它,然后尝试用2005构建一个新版本的DLL-也就是说,如果你有代码,自己移植它。谢谢。我有使用MFC的DLL的代码(我在项目中搜索了MFC字符串)。但我必须说——这些项目是和我的目标项目一起编译的(我做“重建解决方案”)——它们可能是用不同的编译器编译的吗?我应该在哪里检查编译器类型呢?@Alan-vc8是VS2005。VS2003是VC7.1。谢谢。这里有两种类型的文件-windows文件和我的文件。我的所有文件都在exe附近(在bin\debug中)。我试着使用Linker>Input>“其他依赖项”来播放一些视频,我的所有DLL都显示在那里——实际上它们显示为*.lib文件。如果您对我下一步可能采取的措施有更多建议,我将不胜感激!尝试类似的东西-它会告诉你哪个dll丢失了…见上面Rup的评论;尝试找出进程未能加载的文件。