2011-04-29 102 views
0

我遇到了以下问题:发布版本在VS2010中未经调试运行时无法正常工作

我使用VS2010编写C++程序。调试版本在VS中进行/不进行调试时运行正常。当我直接启动构建的可执行文件时,它也可以运行

当我在VS和alsp中进行调试运行时,发布版本可以直接启动生成可执行文件。

不幸的是,当我在VS中运行版本构建 - 无需调试时,程序不起作用。窗口被创建,然后程序迅速崩溃(没有任何错误消息)。由于它在没有调试的情况下运行时崩溃,所以我不知道如何确定导致问题的原因。

任何想法可能导致这种情况?谢谢:)

+0

那么,直接通过Windows资源管理器启动release-build可执行文件并在Visual Studio中运行而不进行调试之间有什么区别? – Martin 2011-04-29 20:40:21

回答

3

这似乎很可能你有某种内存错误/腐败,恰好在调试器中正常工作。

你可以尝试使用cout来隔离它死亡的距离,或者尝试像Purify这样的工具(或者如果你可以移植到Linux上,valgrind是免费的)。

+0

移植到不同的操作系统是一个激进的,但可能是非常有效的调试方式:) – 2011-04-29 20:46:06

+0

谢谢,我试试cout :)但直接通过Windows资源管理器启动.exe和运行没有在Visual Studio中调试之间有什么区别?当通过Windows资源管理器直接运行时,发布版本可以正常工作。 – Martin 2011-04-29 20:49:01

+1

@malymato的区别将在内存的初始化。如果您的程序正在使用未初始化的变量,则默认的内存容量可能会导致不同的行为。 – 2011-04-29 20:56:38

相关问题