Appverify没有捕获C ++堆损坏

时间:2017-09-09 03:48:08

标签: c++ windows heap-corruption

我有一个很明显堆腐败的Windows C ++程序,但是当我运行AppVerify时,它报告没有错误。 AppVerify确实抓住了这些东西,对吧?

我有一个MFC应用程序,它崩溃了一半,我相信它是堆损坏,因为在开始时设置并且在此之后未被修改的变量正在改变值。

将Appverifier作为管理员并将其指向我的程序,选择所有基本错误检查。

AppVerifier添加我的程序:

AppVerifier adding my program

Ran Visual Studio(就像我一样,不是管理员)并运行程序,直到它崩溃。将AppVerifier作为我并查看日志,它报告了0个警告,0个错误。

AppVerfied报告0错误和0警告:

AppVerfied reporting 0 errors and 0 warnings

我不明白AppVerifier的作用,或者我使用它错了吗?

1 个答案:

答案 0 :(得分:1)

(1)你的变量可能不在堆上 (2)使用C ++,你拥有强大的功能,并且很容易出错,诊断工具将无法看到。

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