Debugging MFC应用程序崩溃-发布与调试

Debugging MFC应用程序崩溃-发布与调试,debugging,windows-7,mfc,windows-xp,release,Debugging,Windows 7,Mfc,Windows Xp,Release,我写了一个MFC应用程序,它有下载文件的功能 但我遇到了一个使应用程序崩溃的问题。 在Windows7中没有问题。而且在调试模式下也可以正常工作 在windows xp中,在发布模式下,应用程序有时会崩溃。 我想知道是什么问题,需要你的帮助 关于。您应该首先比较版本和调试配置。 并没有简单的证据说明它为什么会崩溃,但如果它在调试中工作,它在发布时就不应该崩溃 我的第一印象是两种配置的代码不同。 例如,定义为#ifdef的预处理器必须编译ios在其他配置中不存在的代码块。 检查这一点,然后比较两个

我写了一个MFC应用程序,它有下载文件的功能

但我遇到了一个使应用程序崩溃的问题。 在Windows7中没有问题。而且在调试模式下也可以正常工作

在windows xp中,在发布模式下,应用程序有时会崩溃。 我想知道是什么问题,需要你的帮助


关于。

您应该首先比较
版本
调试
配置。
并没有简单的证据说明它为什么会崩溃,但如果它在调试中工作,它在发布时就不应该崩溃

我的第一印象是两种配置的代码不同。
例如,定义为
#ifdef
的预处理器必须编译ios在其他配置中不存在的代码块。

检查这一点,然后比较两个配置详细信息,这将有所帮助

您应该首先比较
版本
调试
配置。
并没有简单的证据说明它为什么会崩溃,但如果它在调试中工作,它在发布时就不应该崩溃

我的第一印象是两种配置的代码不同。
例如,定义为
#ifdef
的预处理器必须编译ios在其他配置中不存在的代码块。

检查这一点,然后比较两个配置详细信息,这将有所帮助

在调试版本中,默认情况下,变量初始化为某些值,在发布版本下,变量可以是任何值。此外,一些布局可能会发生变化


尝试运行app-verifier,它会捕获99%的错误,其中某些错误会覆盖其他错误。

在调试版本中,默认情况下,变量会初始化为某些值,在发布版本下,它们可以是任何值。此外,一些布局可能会发生变化


尝试运行app-verifier,它会捕获99%的错误,其中某些错误会覆盖其他错误。

这有时会发生,关键是调试发布版本,找到崩溃的地方并修复问题


调试发布版本的说明如下:

这有时会发生,关键是调试发布版本,找到崩溃的地方并修复问题


调试发布版本的说明如下:

这信息太少了。如果你不能调试发布版本,至少创建一个崩溃转储,看看崩溃到底发生在哪里。这是因为信息太少了。如果你不能调试发布版本,至少创建一个崩溃转储,看看崩溃到底发生在哪里。回答很好,很可能100%正确。我调试过的几乎所有调试与发布崩溃都是未初始化的变量。我发现了一个很好的应用程序,它可以捕捉像这样的东西。当然,Purify可能仍然是最好的,但我目前没有它的副本,因此调试堆栈破坏问题可能有点困难,但是,了解x86程序集总是有帮助的。(或amd64组件,无论何种情况)回答非常好,很可能100%正确。我调试过的几乎所有调试与发布崩溃都是未初始化的变量。我发现了一个很好的应用程序,它可以捕捉像这样的东西。当然,Purify可能仍然是最好的,但我目前没有它的副本,因此调试堆栈破坏问题可能有点困难,但是,了解x86程序集总是有帮助的。(或amd64总成,无论情况如何。)