2011-08-02 6 views
5

私のアプリケーションの膨大なメモリ消費の原因を特定したいと思います。私のアプリケーションは仮想メモリ(VMMapのタスクマネージャまたはプライベートバイトのVM列)をたくさん食べています。.NETのアンマネージメモリ割り当てを検出できません

私のアプリケーションは.netサービスですが、C++オブジェクトの周りにC#ラッパーを使用しています。

私はRed Gate Antsのメモリプロファイラを試しましたが、管理オブジェクトだけを数え、管理されていないC++ new演算子(これは単にVirtual Allocを呼び出しています)によって割り当てられたメモリは数えません。

マネージメモリプロファイラのもう1つの問題は、コールグラフをトレースすることができないことです。下の図を参照してください。

enter image description here

enter image description here

+0

RedGateメモリプロファイラではどのような設定を使用していますか?私はアンマネージド割り当てを使用していた第三者のライブラリのメモリリークさえもいつか発見しました。 – Yahia

+1

アンマネージドビットにネイティブプロファイラを使用してみませんか? – leppie

+0

leppie、お勧めできますか? –

答えて

3

あなたはDebugDiagを使用することができます。 C#およびC++オブジェクトを追跡します。

関連する問題