检查内存泄露


1、确定内存泄露


2、定位内存泄露

使用windbg tools中的工具umdh和gflags。


gflags用于打开user trace database对特定进程的记录。

umdh用于dump进程的callstack内在heap上分配的内存记录,并可对比两次记录,生成差异数据。


使用步骤:

gflags -i appname.exe +ust//之后打开的appname.exe才能有效。

使用gflags打开针对目标程序的stack trace,记录在database. 

umdh -p:app_pid -f:e:\appname_1.log
umdh -p:app_pid -f:e:\appname_2.log
umdh -d e:\appname_1.log e:\appname_2.log > e:\cmp.txt \\-d指明使用十进制显示内存大小

检查cmp.txt文件中的记录,分析持续增长的callstack。

确定可疑的callstack后,利用backtrace ID到appname_2.log中查找callstack的详细记录。

你可能感兴趣的:(Debug)