一.简介

内存泄漏指由于编码错误导致进程的内存未能释放,从而不断增加,严重的情况可导致进程崩溃。

二.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,暂时没找到解决方法。
图片描述


one_piece
26 声望8 粉丝

引用和评论

0 条评论