1. 程式人生 > >VMMAP定位記憶體洩露

VMMAP定位記憶體洩露

1.啟動VMMAP,配置執行程式pdb位置:Options->Configure Symbols
這裡寫圖片描述
2.通過VMMAP,啟動應用程式:File->Select Process
這裡寫圖片描述
3.分析應用程式堆資料
這裡寫圖片描述
注意:如果記憶體洩露隨著時間推移,肯定相同的記憶體會越來越多,此時我們可以通過呼叫堆疊分析,如下
這裡寫圖片描述
4.如果通過堆疊還是比較難以定位,或者VMMAP崩潰了,那麼只能結合VS的記憶體視窗資料一起檢視資料了,然後根據資料內容分析程式碼(這可能就要求對程式碼熟悉程度非常高了)大概位置,進行問題解決。案例分析:
這裡寫圖片描述
VS斷點之後,檢視當前VMMAP指向的記憶體資料:
這裡寫圖片描述


所以我們在程式碼表介面打斷點並且分析資料,如下:
這裡寫圖片描述
至此記憶體洩露定位成功。