没有调试就无法运行VC ++程序

时间:2010-12-22 04:13:31

标签: c++ visual-c++ visual-studio-2003

我可以运行调试,我可以在发布模式下运行,但我无法在没有调试的情况下运行。我很确定我搞砸了Visual Studio中的配置,但我不确定。计算机被冻结我可能无意中点击了某些东西。它通常有效。有人有什么想法吗?谢谢!

编辑: 该程序适用于F5。当我将配置放到Release并运行可执行文件时,它也可以工作。但是Ctrl + F5不起作用,它创建的可执行文件也不起作用。

我只是得到一个错误,说Windows正在寻找解决方案然后这个: alt text

我甚至尝试使用相同的结果从源安全获取整个解决方案......

编辑2: 按照下面给出的windbg建议后,我得出了这个错误:

*** ERROR: Symbol file could not be found.  Defaulted to export symbols for mfc71d.dll -

4 个答案:

答案 0 :(得分:2)

我的猜测是你的程序中有一些未定义的行为,比如未初始化的变量。在调试模式下,这不会导致崩溃,因为调试版本会为您执行初始化内存等操作,并且不会进行任何优化。

检查狂野指针错误,并检查未初始化的内存问题。并将C ++编译器上的警告级别调高到4级(最高实际级别)。这应该可以帮助你解决这些错误。

答案 1 :(得分:2)

看起来程序崩溃了。看起来GUI也指向崩溃转储。以下是检查转储的方法。

从Microsoft下载“Debugging tools for Windows”。安装它。

然后从命令提示符运行:

> cd \Program Files\Debugging Tools for Windows (x64) [or possibly without (x64)]
> windbg -z C:\users\ntsoiasue\appdata\local\temp\wer3f91.tmp.mdmp

当windbg启动时,它会给你一个命令提示符......

在该命令提示符中键入以下内容:

> .sympath+ [path to your VS output folder (eg. "Release").
             That is, somewhere with a .pdb file for your binary]
> .reload -f [name of your binary]
> k

这将为您提供崩溃的堆栈跟踪。

顺便说一下。 Windbg是一个非常好的工具,值得了解。

答案 2 :(得分:0)

您是否尝试过完全重建?也许手动删除所有中间和输出文件?

答案 3 :(得分:0)

也发生在我身上。我不得不完全卸载vc ++。重新启动计算机并重新安装。它对我有用。