我有一个Windows C ++程序,很明显堆损坏,但是当我运行AppVerify时,它未报告任何错误。 AppVerify确实捕捉到了这些东西,对吗?

我有一个MFC应用程序,它崩溃了一半,而且我相信这是堆损坏,因为在开始时设置的变量在更改后没有被修改。

以管理员身份运行Appverifier,并将其指向我的程序,选择所有基本错误检查。

AppVerifier添加我的程序:



跑Visual Studio(对我来说,不是管理员),然后运行程序直到崩溃。以我的身份运行AppVerifier并查看了日志,它报告了0警告,0错误。

AppVerfied报告0错误和0警告:



我不了解AppVerifier的功能吗,还是使用不正确?

最佳答案

(1)您的变量可能不在堆上。
(2)使用C ++具有强大的功能,并且很容易犯一些诊断工具看不到的错误。

建议:尝试在调试器下运行程序,以更好地了解其行为并查看是否可以找出问题所在。

09-05 23:24