バルクコードの実行中に発生しているリークを分析しようとしています。リークはdbxで検出され、リークは以下のように表示されます。文字列を置換するメモリリーク
Total Num of Leaked Allocation call stack
Size Blocks Block
Address
========== ====== =========== =======================================
272033 4431 - operator new < std::basic_string<char,std::char_traits<char>,std::allocator<char> >::__getRep < std::basic_string<char,std::char_traits<char>,std::allocator<char> >::replace
誰もこのタイプのリークに直面しましたか。 DBXコメントを使用してリークを分析することは可能ですか?コード内のリークの場所を突き止める巨大なコードであるため、
本当にリークですか?プロセスの規模が大きくなるのを見たことがありますか?私が尋ねる理由は、ツールでは必ずしも実際の*漏れではない漏れが報告されていることがよくあります。通常はサードパーティ製のコードです。 –
はい、プロセスのサイズが何かのように大きくなっていることは確かです。スタックのメモリ全体が失われ、メモリがないためにプロセスがクラッシュするようになりつつあります。これは、再検査の際の反復処理中に起こります。 – sandy
まあ、公正なコメント。 「Purify」(商業的ですが)のようなツールがあります。使用できるはずですが、それは起こっている場所を特定するだけで、STLにあれば大きな問題です。私はまたあなたが役に立つと思うかもしれない以下のリンクを掲載しました。 –