C++内存泄露检测工具VLD
Visual C++程序内存泄露检测工具Visual Leak Detector
安装方法是复制vld.h和vldapi.h到vs安装目录下vc的include文件夹中,复制vld.lib、vldmt.lib和vldmtdll.lib到vc的lib文件夹中,复制dbghelp.dll到vc的bin文件夹中,并在Application的包含main函数的文件中添加#include <vld.h>(如有"stdfx.h",则放在紧接着这之后)
调试应用程序,则在vs的output窗口可以看到是否有内存泄露
Memory Dump
windows平台上,安装Windbg,地址为https://msdn.microsoft.com/en-us/windows/hardware/dn913721.aspx
将路径添加到环境变量Path中。
获取Dump文件
在cmd窗口中执行
adplus -hang -o z:\temp -p 1234
参数说明:
- -hang: 表示附加到目标进程,抓取 dump 镜像,然后解除。对应的参数是 -crash 崩溃模式,该参数会终止目标进程。
- -o: 指定 Dump 文件保存路径。
- -p: 指定目标进程 PID。
调试Dump文件
(1) 启动 Windbg 打开 Dump 文件 (File -> Open Crash Dump...)
(2) 载入 SOS.dll
.load C:/Windows/Microsoft.NET/Framework64/v4.0.30319/sos.dll