使用C ++,今天在演示期间发现我正在遭受损坏的堆(但仅在重要场合!!)。我找到few posts here on SO并决定下载Application Verifier和Debugging tool。我目前正在运行Visual Studio 2010.
所以,现在我已经安装了调试工具,我得到一个名为Windows Kits的文件夹。在文件夹中我有一个名为WinDbg的应用程序,我试图打开我的应用程序并运行它。它被罚款但我无法获得有关我的堆损坏的任何信息。然后我安装了验证器,它只给我留下了一个头文件和一个.dll文件,我不知道该怎么办。
所以,有谁能告诉我如何使用这个工具,这样我就不必再忍受这样的尴尬时刻了?一直在论坛上搜索,因为我甚至不知道如何打开验证器,当我阅读说明如何使用它时,我真的迷失了(从2009年开始)
答案 0 :(得分:27)
App Verifier将安装AppVerif.EXE
可执行文件。运行它,并告诉它验证您的应用程序。然后在调试器(WinDBG或IDE)中运行应用程序。
答案 1 :(得分:0)
考虑将Application Verifier与 Visual Studio 调试器结合使用。
File
=> Add Application
Tests
(例如堆,异常等)Debug
启动您的应用程序。当发生坏错误时,调试器将停止。这应该使您对问题的根源有了一个很好的了解。
此外,可能有助于在开始测试之前加载缺少的符号。在Visual Studio 2017中,您可以通过以下方式实现:
Debug
Options and Settings
Debugging
Symbols
Load all symbols
祝你好运!
注意::完成后,请确保禁用已启用的 AppVerfier 检查...否则,您可能会在6个月后遇到一些意外的副作用您忘记了 AppVerifier 的道路。
C:\Windows\SysWOW64\appverif.exe
[32位版本] C:\Windows\System32\appverif.exe
[64位版本]