因此,我已经安装了应用程序验证程序来帮助我进行调试,但是我不知道如何正确使用它。
首先,它似乎永久地附属于Visual Studio。每当我通过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的列表中删除可执行文件,我认为如果程序未运行,这不会产生任何影响。
您可以在WinDBG中运行这些命令,您可以在此处获得
使用WDK(本质上是WinDBG)中的调试器进行调试时,也可以在Visual Studio的“即时窗口”中运行这些命令。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句