Как оценить свойства зависимостей в silverlight / WPF от S.O.S.? - PullRequest
1 голос
/ 15 октября 2008

Этот вопрос довольно прост - я пытаюсь отладить утечку памяти в приложении silverlight, используя s.o.s. Я смог получить некоторую полезную информацию, используя! Gcroot, чтобы определить, какие объекты имеют открытые ссылки на тот, который должен быть очищен; но в этих случаях они, как правило, являются основными элементами пользовательского интерфейса (например, сетка и раскадровка), и я не могу по-настоящему дифференцировать их без возможности видеть значения их свойств зависимости (например, имени). Попытка просмотреть свойства зависимостей с помощью! Dumpobj - это полная погоня за диким гусем, для меня это все статические классы (свойства), которые ссылаются друг на друга, и я просто в конечном итоге иду по кругу. Я нигде не мог найти единственное фактическое значение для свойства зависимости где-либо.

Я немного погуглил об этом, но смог найти только других людей, задающих вопрос, или предположения, не приводящие к ответу. http://blogs.msdn.com/tess/archive/2008/09/16/q-a-reader-emails-about-net-memory-leaks-and-random-questions.aspx - одна такая страница без ответа.

1 Ответ

1 голос
/ 17 октября 2008

Глядя на источник DependencyObject.GetValue в Reflector, я думаю, что это не тривиально в Windbg. В качестве альтернативы (и, как я допускаю, хакерской) в ваших собственных классах вы можете привязать стандартное свойство CLR к Name DP, чтобы у вас было значение, которое вы можете прочитать в отладчике.

...