如何在Visual Studio 2013中使用带有/不带Microsoft Application Verifier的Debug

时间:2014-11-30 15:35:05

标签: c++ windows visual-studio application-verifier

所以我已经安装了应用程序验证程序来帮助我进行调试,但是我不知道如何正确使用它。

首先,它似乎永久地附着在视觉工作室。每当我通过visual studio在调试模式下运行任何应用程序时,验证程序会自动进入。这是一个问题,因为它大大减慢了执行速度,但似乎没有办法在没有验证程序的情况下运行调试程序?我真的不想每次想要使用它时重新安装它,然后再次卸载它。

其次,它似乎确实发现了泄漏等效率,但我不确定如何处理输出消息:

=======================================
VERIFIER STOP 00000900: pid 0x43C: A heap allocation was leaked. 

    12626FE8 : Address of the leaked allocation. Run !heap -p -a <address> to get additional information about the allocation.
    04E2BA6C : Address to the allocation stack trace. Run dps <address> to view the allocation stack.
    11E0AFE0 : Address of the owner dll name. Run du <address> to read the dll name.
    6C660000 : Base of the owner dll. Run .reload <dll_name> = <address> to reload the owner dll. Use 'lm' to get more information about the loaded and unloaded modules.


=======================================

我在哪里可以运行列出的命令?没有单独的控制台,启动验证程序直接启动GUI,但你也不能在那里输入任何命令。

我正在使用带有visual studio ultimate 2013的Windows 8.1。该项目是一个C ++项目。

//编辑:

关于第一个问题:我只需要从GUI中的列表中删除可执行文件,如果程序没有运行,我认为不会产生任何影响。

2 个答案:

答案 0 :(得分:4)

您可以在WinDBG中运行这些命令,您可以获取here

当使用WDK的调试器(实际上是WinDBG)进行调试时,您也可以在Visual Studio的立即窗口中运行这些命令。

答案 1 :(得分:0)

正在回答另一个问题,如何在Visual Studio中附加App Verifier:

  1. 运行应用程序验证程序GUI
  2. 选择要调试的二进制文件(exe / dll)
  3. 选择要检查的选项
  4. 单击[保存]-它会自动跟踪,直到您明确删除该应用程序为止。这些设置甚至可以在系统重启后保留下来。