私のプログラムは最終的にすべての RAM を消費してクラッシュします... コードを調べてみると、これを実行するような目立ったものは見つかりません。
質問する
412 次
3 に答える
1
リークの種類に応じて、umdh または debugdiag を単純なツールとして使用できます。それ以外の場合は、windbg をお勧めします。これらはすべて無料で、Windows 用のデバッグ ツールの一部です。Google でこれらすべてのツールのチュートリアルを検索できます。windbg での自動リーク検出のコマンドは !heap -l です。
于 2012-05-16T20:54:53.453 に答える
1
malloc
とのデバッグ バージョンを使用するようにコードを変更していただけますfree
か? はいの場合は、_malloc_dbgと_free_dbgを確認してください。
(これらの関数に基づいて独自の演算子を作成できnew
ます。)delete
私が覚えているように、VS 6.0 には_realloc_dbg
.
#ifdef _DEBUG
#define _CRTDBG_MAP_ALLOC 1
#include <Crtdbg.h>
#define malloc(size) _malloc_dbg(size,_CLIENT_BLOCK,__FILE__,__LINE__)
#define free(addr) _free_dbg(addr,_CLIENT_BLOCK)
#endif
于 2012-05-16T20:10:10.137 に答える
1
BoundsChecker (現在は DevPartner) を試すことができます: http://www.microfocus.com/products/micro-focus-developer/devpartner/index.aspx
コード内のメモリ リーク、インターフェイス リーク、およびその他の問題を確認できます。
于 2012-05-16T20:20:58.493 に答える