2017-06-19 12 views
2

Visual Studio 2015を使用してC#.NETプロジェクトでメモリリークをデバッグしています。オブジェクトが最も大きく成長する「Paths to Root」を見ると、最も内側のレベルにTargetCore<MyCustomClass> [Local Variable]があります。一部のクイック検索では、TargetCoreで何も表示されませんでした。それは何ですか、そしてそれからどのような意味を引き出すことができますか(MyCustomClassのインスタンスが漏れている理由をどのように解決するのに役立ちますか)私は確かにあなたを伝えることはできませんがhttps://github.com/dotnet/corefx/blob/master/src/System.Threading.Tasks.Dataflow/src/Internal/TargetCore.cs.Netメモリトレースで "TargetCore"とは何ですか?

は、コメントProvides a core implementationがありますので、このクラスは、実際にTarget<TInput>です:

+1

サブクラスはありません。TargetCore'1はシール – quetzalcoatl

+1

です。これらのオブジェクトだけが表示されている場合は、実際に他のオブジェクトがそのオブジェクトを保持するTargetCoresを保持している可能性があります。これらのTCを保持しているものを探してみてください。データフローであれば、登録された継続性があるかもしれません。何らかの理由でまだ解雇されたことはありませんか?また、GitHubで見るものが、あなたが使っているものと同じではありません。 – quetzalcoatl

答えて

0

は、自分自身を参照してください。 ns System.Threading.Tasks.Dataflowと、OfferMessage/SignalOneAsyncMessageCompletedのようないくつかの方法から判断すると、実際には非同期操作の集約ポイントまたは完了ポイントとして機能するのはMessageTargetクラスであると考えられます。

しかし、それは私の半教育の推測です。あなたの問題が重大な場合は、他の確認なしにあまり書くことに頼らないでください。また、それが私がこれを 'wiki'の回答と記している理由です。それは本当にほとんど推測です。

関連する問題