• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:メモリーリークの検出について)

メモリーリークの検出方法

このQ&Aのポイント
  • WindowsXP,VC++6.0環境においてメモリーリークを検出する方法について調査しました。
  • _CrtSetDbgFlagを使用してメモリーリークを検出しようとしたが、正確なファイル名が表示されない問題が発生しました。
  • 短いコードでは正しく表示されるため、他の原因を考える必要があります。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

こんばんは。一応VC++6.0にて確認は出来たので以下サンプルを。 +--------------------test.hpp-----------------------+ #ifndef __TEST_HPP__ #define __TEST_HPP__ #include<cstdlib> #include<new> #include<memory> using namespace std; #include <crtdbg.h> #define _CRTDBG_MAP_ALLOC #define new ::new(_NORMAL_BLOCK, __FILE__, __LINE__) extern void TestB(); #endif +--------------------test.hpp-----------------------+ +--------------------testA.cpp----------------------+ #include"test.hpp" void TestA() { new int; _CrtDumpMemoryLeaks(); } int main() { ::TestA(); ::TestB(); return 0; } +--------------------testA.cpp----------------------+ +--------------------testB.cpp----------------------+ #include"test.hpp" void TestB() { new int; _CrtDumpMemoryLeaks(); } +--------------------testB.cpp----------------------+

box-box
質問者

お礼

回答ありがとうございます. 無事解決しました. お恥ずかしながら原因は,メモリーリーク検出初期設定をmain関数のあるソースでしか行っていなかったためでした. 本当にありがとうございました(^-^;)

関連するQ&A