Могу ли я увидеть, что ссылается на объект во время отладки? - PullRequest
1 голос
/ 18 декабря 2009

Возможно ли при отладке приложения Silverlight просмотреть все текущие ссылки на объект?

Я знаю, что разработчики WPF могут использовать файл SOS.dll, но его нельзя загрузить в IDE VS2008 при отладке приложения Silverlight. Я пробовал, но команда загрузки выдает ошибку:

.load C: \ Program Files \ Microsoft Silverlight \ 3.0.40818.0 \ sos.dll

SOS недоступна, пока выполняется только отладка. Чтобы загрузить SOS, включите неуправляемую отладку в свойствах вашего проекта.

К сожалению, невозможно включить неуправляемую отладку для приложения Silverlight через IDE VS2008. Я также пытался «присоединиться» к процессу, но все же, без игры в кости.

1 Ответ

1 голос
/ 18 декабря 2009

Я не уверен, возможно ли это с VS2008, но если вы загружаете и запускаете WinDbg как часть средств отладки для Windows и можете подключиться к процессу, на котором размещается плагин silverlight.

После подключения вы можете запустить следующее для использования SOS:

.loadby sos coreclr

Существует несколько примеров отслеживания утечек управляемой памяти и т. Д .:

http://blog.ningzhang.org/2008/12/silverlight-debugging-with-windbg-and.html

http://blogs.msdn.com/delay/archive/2009/03/11/where-s-your-leak-at-using-windbg-sos-and-gcroot-to-diagnose-a-net-memory-leak.aspx

http://weblogs.asp.net/pglavich/archive/2008/12/03/debugging-silverlight-apps-using-windbg.aspx

...