开发辅助工具

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:	emp -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
原文地址:https://www.cnblogs.com/sjjsxl/p/5266063.html