たとえば、Visual Leak Detector (VLD) を使用して、サービス アプリケーションのメモリ リークをチェックしています。そして、多くのメモリ割り当てが静的オブジェクトで発生するため、VLD はこれらの誤検知のメモリ リークを除外できるのでしょうか (実際のメモリ リークと見なすべきではありません)。
とても有難い
たとえば、Visual Leak Detector (VLD) を使用して、サービス アプリケーションのメモリ リークをチェックしています。そして、多くのメモリ割り当てが静的オブジェクトで発生するため、VLD はこれらの誤検知のメモリ リークを除外できるのでしょうか (実際のメモリ リークと見なすべきではありません)。
とても有難い
調査の結果、この VLD は、vld.dll でグローバルな静的オブジェクトも使用し、その dtor がメモリ リークの可能性を報告するため、これらの誤検知メモリ リーク (静的オブジェクトの新規など) を除外できないことがわかりました。デストラクタ シーケンスを確認できなかったため、VLD を使用して静的オブジェクトのメモリ リークを検出できませんでした。
ただし、バイパス ソリューションも見つけました。このツールのソース コードを変更できるため、atexit を使用して reportMemoryLeak 関数を ctor に登録し、このメソッドが dtor の後に呼び出されるようにすることができます。
率直に言って、これはそれほど直接的ではないので、これを参照して くださいhttp://cfc.kizzx2.com/index.php/detecting-memory-leaks-with-windbg-the-modern-and-free-way/ windbg+DebugCRT ヒープは大丈夫です!