- cplusplus/
- 如何使用Microsoft应用程序验证程序
使用C++,今天在演示中发现我正遭受一个损坏的堆(但只有在重要的场合!)我找到了一个,并决定下载和下载。我目前正在运行VisualStudio2010
如何使用Microsoft应用程序验证程序
使用C++,今天在演示中发现我正遭受一个损坏的堆(但只有在重要的场合!)我找到了一个,并决定下载和下载。我目前正在运行VisualStudio2010
如何使用Microsoft应用程序验证程序
使用C++,今天在演示中发现我正遭受一个损坏的堆(但只有在重要的场合!)我找到了一个,并决定下载和下载。我目前正在运行VisualStudio2010,c++,heap-corruption,application-verifier,C++,Heap Corruption,Application Verifier,所以,现在我只剩下一个调试工具的安装,在那个里我得到了一个名为WindowsKits的文件夹。在文件夹中,我有一个名为WinDbg的应用程序,我试图打开并运行它。它起作用了,但我无法获得有关堆损坏的任何信息。然后我安装了验证器,只剩下一个头文件和一个.dll文件,我不知道该怎么办
那么,有谁能告诉我如何使用这个工具,这样我就不必再忍受像这样的尴尬时刻了?我一直在论坛上搜索,因为我甚至不知道如何打开验证器,当我阅读如何使用它的说明(从2009年开始)时,我真的迷路了。应用验证器将安装一个AppVe
所以,现在我只剩下一个调试工具的安装,在那个里我得到了一个名为WindowsKits的文件夹。在文件夹中,我有一个名为WinDbg的应用程序,我试图打开并运行它。它起作用了,但我无法获得有关堆损坏的任何信息。然后我安装了验证器,只剩下一个头文件和一个.dll文件,我不知道该怎么办
那么,有谁能告诉我如何使用这个工具,这样我就不必再忍受像这样的尴尬时刻了?我一直在论坛上搜索,因为我甚至不知道如何打开验证器,当我阅读如何使用它的说明(从2009年开始)时,我真的迷路了。应用验证器将安装一个AppVerif.EXE
可执行文件。运行它,并告诉它验证您的应用程序。然后在调试器(WinDBG或IDE)中运行应用程序 考虑将与Visual Studio调试器结合使用
启动Visual Studio并编译应用程序
启动应用程序验证工具
文件
=>添加应用程序
选择适当的测试(例如堆、异常等)
使用Visual Studio调试启动应用程序
当坏事发生时。。。调试器将停止。这会让你对问题的根源有一个很好的了解
此外,在开始测试之前加载缺少的符号可能会有所帮助。在Visual Studio 2017中,您可以通过以下方式执行此操作:
Debug
选项和设置
调试
符号
加载所有符号
祝你好运
注意:完成后,请确保禁用已启用的AppVerfier检查。。。否则,在您忘记AppVerifier的6个月后,您可能会遇到一些意想不到的副作用
参考资料
-
- 我相信它也包含在各种Windows SDK中(以前称为Platfrom SDK)
- 请注意,您可能安装了两个版本:
在哪里?在program and files(程序和文件)下的app verifier文件夹中,我看不到任何可执行文件。它位于system32中,当我不知道它的名称时,我不知道如何查找它。最后一步是:重新运行app verifier并选择菜单项View->Logs(查看->日志);应用程序报告将与日期、检测到的错误和警告数一起列出。要查看结果,有查看按钮,但在我的系统上什么也不做。我保存为xml文件并使用通用文本查看器读取输出。Appverifier说要获得最佳结果,应用程序应在调试模式下运行。@Sahara:MSalters获得了我的投票,因为在我的情况下,Appverifier发现了问题,而我没有付出任何努力。我运行了c:\windows\system32\AppVerif.exe,通过“文件>添加应用程序”将我的应用程序添加到左侧窗口,在右侧窗口中选择“基本”,按“保存”和“退出”,然后在Visual Studio中以调试模式运行我的应用程序。它立即指出了我的代码将第7个元素添加到6元素数组末尾的位置。这就是允许AppVerifier“做它的事情”所需要做的一切。下面是您的问题的答案,非常详细@Rigel链接无效,以防其他人遇到我遇到的问题-请确保在管理员权限下运行appverif.exe。(右键单击“以管理员身份运行”)。如果您没有在管理条件下运行appverif.exe,它将不允许您添加应用程序进行测试。它只允许您查看以前的日志。使用VS 2019并在调试器下启动应用程序,我唯一看到的是“进程已退出,代码为X”-没有中断,只是完成状态。即使我在异常设置窗口中启用所有checkmarkus并禁用“仅我的代码”,appVerif.exe在Windows 10 19h1默认安装中也不存在。我确实在开发人员主机上找到了@C:\Windows\System32\appverif.exe,它有几个工具集。可能它是随Microsoft ADK或WDK调试器工具提供的。@kevinf正如上面的“参考”部分所述,您必须下载该应用程序。此版本的应用程序验证程序已过时,并按原样提供给早于WINDOWS 7的操作系统。新版本在Windows SDK-中发布。对于以前版本的Windows,存档的SDK版本可从以下站点获得:。