2016-11-22 83 views
-1

我有一个程序。如果它在Visual C++ 2008调试器内运行,那么一切正常。但是如果调试版本在调试器外部运行,那么它将不起作用。所以我只是想知道两种情况之间的主要区别是什么?运行VS内部和外部调试器有什么区别?

感谢

+2

你说的“它不会工作”是什么意思? –

回答

0

这里有一个解释,你需要了解调试和版本之间的差异建立几乎所有的通用指南:Surviving the Release version

+2

尽管链接可能有用,但答案应自成一体。事实并非如此,这更多的是评论。 – StoryTeller

+0

@StoryTeller对不起,我刚刚从这里开始,并没有意识到这一点。我将来会记住这一点。因此,这个特定的问题过于宽泛,几乎没有提供任何信息,并且在一篇文章中以这样的方式回答,这将是非常困难的。 –

0

如果您能够运行使用调试程序(“F5 “)在Visual Studio中,

您可能遇到某种形式缺少的相关性,如缺少.dll文件或环境变量。 你可以验证这个打开命令行并运行vcvarsall.bat,然后运行你的程序。或者,使用Windows开始菜单中的Visual Studio命令行运行程序。

根据您的安装vcvarsall.bat通常位于:

C:\ Program Files文件(x86)的\微软的Visual Studio \ VC \ vcvarsall.bat

如果你的程序仍不能执行,您可以使用Dependency Walker找出您的程序可能具有的其他可能依赖关系。

然而,如果没有对这个问题的详细信息,您遇到,我只能为你提供一些其他可能的初学者的例子:

没有弹出错误信息,控制台应用程序,与 没有可见双击程序反应。

默认情况下,控制台应用程序不会在完成执行后保持其控制台处于活动状态。所以如果你的程序太快了,你可能看不到它在“运行”。您可以在程序结束时添加system("pause");,以防止其立即关闭。

没有Pop错误消息,Windows应用程序,没有GUI代码,双击 程序没有可见的反应。

你的程序在后台运行可能已经。使用任务管理器验证这个过程,看看这个过程是否在那里列出。如果您使用printfstd::out,则需要使用命令行运行程序以查看输出。

相关问题