私はCRTDBGがリークのないと報告しているプログラムを持っていますが、Windowsタスクマネージャーによれば、時間がたつにつれてより多くのメモリを占有しています。さらに悪いことに、十分な時間が与えられれば、終了コード-1でクラッシュすることになります。リークのないメモリ使用量の増加?
これはゲームエンジンになりそうなプログラムですが、今すぐレベルをロードしたりアンロードしたりすることでレベルをアンロードする機能をテストしています。これは機能しているように見えます。さもなければ、 '最後の'レベルのエンティティが現在のものに衝突します。私はプログラムを正常に実行し、終了するまでアンロードせずに1つのレベルをロードするとメモリは増加しません。
レベルの読み込みには、ハードドライブからの読み取りとファイルの読み込みが含まれます。私がChipmunk物理ライブラリ、Lua、およびOpenGLを使用していることを知ることも重要です。
これを最も難しくしているのは、CRTDBGがダンプしない方法で、main()の最後に0を返します。
EDIT:あなたは本当にただの出口でそれを解放し、それの多くを割り当てると、メモリをリークしていないよう。また、Visual Studioを使用すると、私には、2008年
ツールを非難することは、通常どこにも起こりません。それを証明し、意図的にメモリをリークし、それが報告されることを確認します。それがチェックアウトされている場合は、プログラムを分析して、なぜそれが長すぎるデータを保持しているのかを理解する必要があります。 –
さて、main()の先頭に 'new'または 'malloc'を貼り付けてください。だから、それは何らかの自動収集、CRTDBGが機能しない、あるいは私が正しく実装しなかったことかもしれません。 – Lucas