Windows下のメモリ漏洩のチェック方法

842 ワード

メモリ漏洩は面倒なことで、主に規範的なメモリ使用方法でメモリ漏洩を根絶します.メモリの漏洩が発生した場合は、問題をタイムリーに発見し、タイムリーに解決しなければなりません.そうしないと、予想外の問題が多く発生します.
1、現象
Detected memory leaks!
Dumping objects ->
{98500} normal block at 0x05785AD0, 152 bytes long.
Data: << N       N x 7 > 3C AC 4E 10 00 00 00 00 BC A4 4E 10 78 B6 37 00
Object dump complete.

2、解決方法
1からアドレス98500でメモリリークが発生していることが分かるが,そのメモリを開くコードがどこにあるかに対応し,コード量が大きいとコードから発見できない.
マイクロソフトのvs開発環境は、メモリの漏洩を確認する方法を提供しています.
1)
プログラムが開始された場所(漏洩したメモリ割り当ての前であれば十分前の場所)でコードを使用します.
_CrtSetBreakAlloc(98500); 
//98500は上のメモリが漏れるブロック番号です.
2)その後、debugが実行され、プログラムは自動的に「メモリブロック98500」に割り当てられた場所でブレークポイントします.
3)このとき我々は「デバッグ」->「終了」を利用し、ショートカットキーは「Shift+F 11」である.現在の関数をスキップ..そして「上」にジャンプし、ジャンプしながら呼び出しスタックを表示する.自分が書いたコードを見るまで.
これで問題を的確に解決することができます.