檢查內存泄露


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的詳細記錄。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章