すべて、これらのコードのVisual Studioでメモリリークを検出する良い方法やツールを教えてもらえますか?私は、crtデバッグをテストしたが、私はデバッグプロセス(シフト+ f5)を中断している間、メモリリークレポートdoesnotは、デバッグウィンドウに表示されません。このコードのメモリリークを検出する方法を見つけるには?
void fun1()
{
int * pInt = new int;
return;
}
void Execute(void)
{
while(true)
{
cout<<"I will sleep for 1 second..."<<endl;
::Sleep(1000);
fun1();
}
return;
}
int main()
{
Execute();
return 0;
}
上記のコードのメモリを見つける方法を知っている人はいますか? 私がshared_ptrを使用することを選択した場合、メモリリークは再び発生しません。
完全な質問を読んでいないので、 'delete pInt;'を返すのを待っています... –
'new'文が1つしかないので、メモリリークは見つけにくいはずです:P – orlp
あなたはどのように「プロセスを中止しますか? CRTは、通常のプロセスシャットダウン時にチェックを実行する可能性があります.- while(true)を有限ループに変更してプロセスを終了させるとどうなりますか? –