32

使用 C++ 并在今天的演示中发现我遇到了损坏的堆(但仅在重要场合!!)。我在这里找到了一些关于 SO 的帖子,并决定下载Application Verifier and Debugging tool。我目前正在运行 Visual Studio 2010。

所以,现在我只剩下了调试工具的安装,我在其中获得了一个名为 Windows Kits 的文件夹。在文件夹中,我有一个名为 WinDbg 的应用程序,我试图打开我的应用程序并运行它。它工作得很好,但我无法获得有关我的堆损坏的任何信息。然后我安装了验证程序,它只给我留下了一个头文件和一个我不知道该怎么处理的 .dll 文件。

那么,谁能告诉我如何使用这个工具,这样我就不必再忍受这样的尴尬时刻了?一直在论坛上搜索,因为我什至不知道如何打开验证器,当我阅读如何使用它的说明时,我真的迷路了(从 2009 年开始)

4

2 回答 2

34

App Verifier 将安装一个AppVerif.EXE可执行文件。运行它,并告诉它验证您的应用程序。然后在调试器(WinDBG 或您的 IDE)中运行您的应用程序。

于 2012-04-20T07:22:30.897 回答
10

考虑将Application VerifierVisual Studio调试器结合使用。

  1. 启动Visual Studio并编译您的应用程序
  2. 启动应用程序验证程序实用程序。
  3. File=>Add Application
  4. 选择适当的Tests(例如堆,异常,...)
  5. 使用 Visual StudioDebug启动您的应用程序。

当发生不好的事情时……您的调试器将停止。这应该使您对问题的根源有了一个很好的了解。

此外,在开始测试之前加载缺失的符号可能会有所帮助。在 Visual Studio 2017 中,您可以通过以下方式执行此操作:

  1. Debug
  2. Options and Settings
  3. Debugging
  4. Symbols
  5. Load all symbols

祝你好运!

注意:完成后,请务必禁用您启用的AppVerfier检查......否则,当您忘记AppVerifier时,您可能会在 6 个月后遇到一些意想不到的副作用。

参考

于 2019-01-25T14:46:35.657 回答