我有一个Windows C ++程序,很明显堆损坏,但是当我运行AppVerify时,它未报告任何错误。 AppVerify确实捕捉到了这些东西,对吗?
我有一个MFC应用程序,它崩溃了一半,而且我相信这是堆损坏,因为在开始时设置的变量在更改后没有被修改。
以管理员身份运行Appverifier,并将其指向我的程序,选择所有基本错误检查。
AppVerifier添加我的程序:
跑Visual Studio(对我来说,不是管理员),然后运行程序直到崩溃。以我的身份运行AppVerifier并查看了日志,它报告了0警告,0错误。
AppVerfied报告0错误和0警告:
我不了解AppVerifier的功能吗,还是使用不正确?
最佳答案
(1)您的变量可能不在堆上。
(2)使用C ++具有强大的功能,并且很容易犯一些诊断工具看不到的错误。
建议:尝试在调试器下运行程序,以更好地了解其行为并查看是否可以找出问题所在。