Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/162.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++;崩溃后应用程序运行缓慢(MSV,Win8 x64) 基本上,我有一个本地C++应用程序,它在代码开发过程中经常会崩溃。在修复了一些bug之后,它运行得相当平稳。然而,我注意到一个相当奇怪的行为,这让我很困惑_C++_Windows_Visual C++ - Fatal编程技术网

C++;崩溃后应用程序运行缓慢(MSV,Win8 x64) 基本上,我有一个本地C++应用程序,它在代码开发过程中经常会崩溃。在修复了一些bug之后,它运行得相当平稳。然而,我注意到一个相当奇怪的行为,这让我很困惑

C++;崩溃后应用程序运行缓慢(MSV,Win8 x64) 基本上,我有一个本地C++应用程序,它在代码开发过程中经常会崩溃。在修复了一些bug之后,它运行得相当平稳。然而,我注意到一个相当奇怪的行为,这让我很困惑,c++,windows,visual-c++,C++,Windows,Visual C++,这是一个基于CMake的项目,我可以选择将应用程序打包到zip文件中。当我从新提取的zip运行可执行文件时,应用程序运行正常(并且性能很高)。然而,比如说,如果它崩溃了几次——下一次启动时的行为是相同的,但一切都运行得非常慢。我的测试用例(尽管是手动的)非常简单,我可以很容易地重复它 一旦应用程序速度减慢,我所要做的就是重命名应用程序所在的文件夹,性能再次提高。直到它崩溃了好几次 显然,一旦我摆脱了车祸,这就不是问题了。然而,在我看来,一旦系统(Win8.1 x64)检测到持续崩溃,它就会以不同

这是一个基于CMake的项目,我可以选择将应用程序打包到zip文件中。当我从新提取的zip运行可执行文件时,应用程序运行正常(并且性能很高)。然而,比如说,如果它崩溃了几次——下一次启动时的行为是相同的,但一切都运行得非常慢。我的测试用例(尽管是手动的)非常简单,我可以很容易地重复它

一旦应用程序速度减慢,我所要做的就是重命名应用程序所在的文件夹,性能再次提高。直到它崩溃了好几次

显然,一旦我摆脱了车祸,这就不是问题了。然而,在我看来,一旦系统(Win8.1 x64)检测到持续崩溃,它就会以不同的模式运行(?)。看起来我从IDE运行的应用程序(MSVS2013)收到了这个“惩罚”。因此,即使在发布模式下,它的运行速度也非常慢,更不用说调试了

所以我有几个问题要问社区。首先,你有没有观察过这种行为?第二,减速的原因确实是应用程序崩溃时存储的一些系统范围的信息吗?最后,你知道如何修复它吗

注意:我可能会将源文件夹移动到其他位置,但这需要相当长的重建步骤。此外,我只是好奇到底发生了什么。此外,在同一文件夹中重新启动系统和完全重建也没有帮助

一些上下文:应用程序使用Qt4(也是Qt插件系统)、MITK、ITK、VTK、CTK、OpenCASCADE、glew和相关库,所有这些库都是从这台机器上的源代码构建的

干杯,
Rostislav。

在问了这个问题差不多一年之后,我想我找到了答案,并决定把它贴在这里,以防有人遇到类似的问题


在我看来,我的应用程序在几次崩溃后被系统放入容错堆(FTH)。有关FTH的更多信息,请访问。调试特别严重的崩溃时,在开发人员计算机上禁用FTH(至少暂时禁用)可能是有意义的。

可能会切换到win32 xp兼容模式?之后是否检查了.exe的属性?很遗憾,在可执行文件上似乎没有启用兼容模式。