2011-04-05 97 views
0

非常基本的问题。 我想调试我的exe的发行版本。我的调试版本工作正常。但发布版本像往常一样崩溃。C++调试版本

可用于此的任何工具或调试器将是一个很大的帮助。

+0

您使用了哪种C++语言? GC,VC还是其他什么? – Aamir 2011-04-05 10:58:29

+2

您需要提及您正在使用的操作系统,体系结构,编译器等。 – 2011-04-05 11:00:31

+0

@Paul R:exe可能表示MSVC。 – 2011-04-05 11:03:02

回答

4

您仍然可以在发布模式下启用调试信息,并像往常一样使用调试器。这里没什么特别的,只是由于优化,调试顺序有时看起来很奇怪。

祝你好运,调试只发布模式的bug是单调乏味的。

+0

也处于发布模式,调试器很可能会跨过或不愿进入许多源,因为它经过优化以至于生成的程序集似乎与源程序没有多少共同之处 – stijn 2011-04-05 11:16:07

0

我建议你添加某种记录系统或跟踪点来查找崩溃的来源。在调试发布时,调试器会欺骗你。您还可以提升编译器的警告级别,以查看一些常见的嫌疑犯,例如使用单位变量。

0

我建议你在某些内存调试器(如Rational Purify或BoundsChecker)下运行exe。它会在您的代码中发现与内存相关的错误(如果有的话)。