0

C# および C++ で記述されたアプリケーションのメモリ リークを調査していました。PerfMon ログと WinDbg/SOS デバッグを使用していくつかの C++ コンポーネントに分離したら、UMDH (+ust で有効化された gflags) を使用してスナップショットを比較し、どのヒープ割り当てがメモリをリークしているかを見つけようとしました。

最後に、コードの手動レビューによってリークが発見されました。以下のサンプル コード スニペット。

char *p = new char[size];
// use the pointer 
delete p;  <---- MEMORY LEAK

なぜUMDHがこれをキャッチしなかったのか疑問に思っていましたか? UMDH は、これを比較ログの問題として報告していません。WinDbg ヒープ コマンドは、リークを指摘するのに役立ちましたか?

4

0 に答える 0