WinDbgを使用して、メモリリークを追跡し修正しました(または、より正確には、解放されたオブジェクトをガベージコレクションできないというCLRの不具合を修正しました)が、特定のコントロールが1つあります。コントロールは子ウィンドウ内に表示され、ウィンドウが閉じられると、コントロールへの参照が残り、ガベージコレクションできません。私は、リークの原因となった可能性のある問題の大部分であると信じているものを解決しましたが、影響を受けるオブジェクトの!gcrootは、このオブジェクトをまだ保持しているものについては、少なくとも私にはわかりません。出力に含まには関係なく、常に、子ウィンドウに表示されているコンテンツの同じである:Silverlight WinDgメモリリリースの問題
DOMAIN(03FB7238):HANDLEする(固定):79b12f8:ルート:06704260(System.Objectの[]) - > 05719f00(システム。 (System.Windows.Controls.Grid) - > 064d4314(System.Collections(System.IntPtr、mscorlib)、[System.Object、mscorlib]]]])> 064d42b0 .Generic.Dictionary 2[[MS.Internal.IManagedPeerBase, System.Windows],[System.Object, mscorlib]])-> 064d4360(System.Collections.Generic.Dictionary
2 + Entry [064d4218(System.Windows.Controls.Border) - > 064d3860(System.Windows.Controls.Border) - > [システムインテグレーション(System.Windows)]、[System.Object、mscorlib] System.Collections.Generic.Dictionary 2[[MS.Internal.IManagedPeerBase, System.Windows],[System.Object, mscorlib]])-> 064d4264(System.Collections.Generic.Dictionary
2 + Entry [[MS.Internal.IManagedPeerBase、System.Windows]、[System.Object、mscorlib]] []) - > 064d3bfc(System.Windows.Controls.ContentPresenter) - > 064d3d64(System.Collections.Generic.Dictionary 2[[MS.Internal.IManagedPeerBase, System.Windows],[System.Object, mscorlib]])-> 064d3db0(System.Collections.Generic.Dictionary
2 + Entry [MS.Internal.IManagedPeerBase、System.Windows]、[System.Object、mscorlib]] [] ) - > 064d3dec(System.Collections.Generic.Dictionary 2[[System.UInt32, mscorlib],[System.Windows.DependencyObject, System.Windows]])-> 064d3e38(System.Collections.Generic.Dictionary
2 + Entry [System.UInt32、mscorlib]、[System.Windows.DependencyObject、System.Windows]] []) - > 06490b04(Insurer.Analytics。共有リソース。コントロール。歴史KPIViewerControl)
潜在的に問題の可能性があることについて誰かが考えている、または詳細が必要な場合は、私に知らせてください。
種類よろしく、
クリス
Thanx Brian、この問題はSilverlightランタイムで発生したと考えられますので、この問題を回避するためにコントロールを再作成してください。すべてが今はうまくいっており、GCは仕事をしています。 –