Qt SDKにおいてメモリリークを検出する場合なんですが、Visual Studioに標準で付属している
_CrtSetDbgFlagを使用して、自動的にメモリリークをプログラム終了と同時に出力するように
_CrtSetDbgFlag(_CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF )
とソースコード上に記載しプログラムを終了すると・・・・とんでもない量のメモリリークが・・・。
最初、なぜ?????となりました正直。さすがにあり得ないだろうというくらいに
memory leaks!とデバックログに出力されるので、これは何かあると考えて
ネット上を調べているうちになんと、Visual Studioのは
相性が悪いようで、うまく検出してくれないようです。
そのため、別のものを使用した方がいいですよ~と参考にしたサイトには記載されておりました。
というわけでまずはソースコードをダウンロードしてきました。
CodeProjectのMemory Leak Finderというものがよいようです。(フリーソフトという観点で)
ただし、このMemory Leak Finderですが、Visual Studio 2005でソリューションファイル
読み込もうとしたら、読めませんでした・・・・。2008もだめです。2010のようですね・・・。
しょうがないので自分で1からプロジェクトを作成し、Dllを作成しました。
久しぶりにリンクとかをちゃんとしないとコンパイルが通らず・・・
初歩的なところで苦戦しました・・・。そこら辺は次回で。
MemoryLeakFinderの中身
http://www.codeproject.com/Articles/5735/Memory-leak-finder
つづく~。