我有一个程序。如果它在Visual C ++ 2008调试器中运行,那么一切正常。但是如果调试版本在调试器外部运行,那么它将无法工作。所以我想知道两种情况之间的主要区别是什么?
由于
答案 0 :(得分:0)
这是一个通用指南,解释了您需要了解的有关调试和发布版本之间差异的所有内容:Surviving the Release version
答案 1 :(得分:0)
如果你能够在visual studio中使用Debug(" F5")运行程序,
您可能遇到某种形式的缺失依赖项,例如缺少.dll文件或环境变量。
您可以验证这打开命令行并运行vcvarsall.bat
,然后运行您的程序。或者,使用Window Start Menu中的Visual Studio命令行运行程序。
具体取决于您的安装vcvarsall.bat
通常位于:
C:\ Program Files(x86)\ Microsoft Visual Studio \ VC \ vcvarsall.bat
如果您的程序仍然无法执行,您可以使用Dependency Walker找出您的程序可能具有的其他可能的依赖项。
但是,如果没有您遇到的问题的更多细节,我只能为您提供一些其他可能的初学者示例:
没有弹出错误消息,控制台应用程序,双击程序 没有明显的反应。
默认情况下,控制台应用程序在完成执行后不会使其控制台保持活动状因此,如果您的程序太快,您可能无法看到它"运行"。您可以在程序结束时添加system("pause");
,以防止它立即关闭。
没有Pop错误消息,Windows应用程序,没有GUI代码,双击 程序没有明显的反应。
您的程序可能已在后台运行。使用任务管理器验证这一点,并查看该进程是否列在那里。如果您使用printf
或std::out
,则需要使用命令行运行程序以查看输出。