一.简介
内存泄漏指由于编码错误导致进程的内存未能释放,从而不断增加,严重的情况可导致进程崩溃。
二.umdh工具检测内存泄漏的方法
umdh是windbg自带的一个检测内存泄漏的工具,用于检测windows下进程的内存泄漏。具体步骤如下:
1.设置用户态栈跟踪数据库(user mode stack trace database ),跟踪的进程为test.exe
gflags /i test.exe +ust
2.设置符号文件路径
set _NT_SYMBOL_PATH=C:\symbols
3.启动test.exe或者重新启动test.exe
4.打开服务管理器找到test.exe对应的进程ID,假设为1234。
5.首次运行umdh
umdh -p:1234 -f:c:\log\test1.txt
6.待该进程内存增加后再执行
umdh -p:1234 -f:c:\log\test2.txt
7.计算内存增加
umdh c:\log\test1.txt c:\log\test2.txt > c:\log\test_comp.txt
查看test_comp.txt中,内存增加的代码行数即可定位了。
三.存在某些进程不能使用umdh检测内存泄漏的情况
返回错误码299,暂时没找到解决方法。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。