2017-01-05 20 views
0

Visual Studioで作業していますが、私たちのコード(複雑なビジネスユースケースの巨大なコードベース)機能に来る。私はそこで記憶が解放されることを期待していた。プログラムでメモリが解放されたかどうかを確認するにはどうすればいいですか?

メモリアドレス(私はそれが関数に来てからアドレスを知っている)が解放されたのか、それともプロセスの所有者なのかわかりますか?

「HeapMemView」と「RamMap」を試しました。それらをテストするために、私はちょうどポインタを作成し、メモリを割り当て、それらのビューアを使って見てみました。私が書いたコードは、

char *a=new char[1000]; 
char str[1000]; 
sprintf(str,"Address : %p",a); 
MessageBox(0, str, "MessageBox", MB_OK); 

だったと私は上記のツールを使用して印刷されたアドレス値を参照しようが、私はアドレスを見ることができないです。

何か間違っていますか?あるいはこれを行うための別の方法がありますか?

答えて

0

メモリリークを分析するために、Purifyなどの外部ツールを使用することができます。 Visual Studioの他の手法では、CRTデバッグ手法を使用してメモリ割り当て/解放をトレースする方法があります。

下記のリンクをご覧ください。 CRT Debugging techniques

関連する問題