我可以运行调试,我可以在发布模式下运行,但我无法在没有调试的情况下运行。我很确定我搞砸了Visual Studio中的配置,但我不确定。计算机被冻结我可能无意中点击了某些东西。它通常有效。有人有什么想法吗?谢谢!
编辑: 该程序适用于F5。当我将配置放到Release并运行可执行文件时,它也可以工作。但是Ctrl + F5不起作用,它创建的可执行文件也不起作用。
我只是得到一个错误,说Windows正在寻找解决方案然后这个:
我甚至尝试使用相同的结果从源安全获取整个解决方案......
编辑2: 按照下面给出的windbg建议后,我得出了这个错误:
*** ERROR: Symbol file could not be found. Defaulted to export symbols for mfc71d.dll -
答案 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 ++。重新启动计算机并重新安装。它对我有用。