Session Outline
Title: Silverlight debugging - Introduction to tools
Presenter: Alan Cobb
Date: 2007-10-28
Conference: Silicon Valley Code Camp, Foothill College, Los Altos Hills, CA, USA
About Alan Cobb:
Independent consultant. 20+ years of Windows programming, mostly in C++. Last 5 years focused mostly on .NET, using C# and managed/unmanaged C++, WinForms, now WPF and Silverlight. Have given previous user group talks about .NET debugging.   Website: www.alancobb.com
Picture of Alan Cobb
Silverlight debugging / analysis tools we will cover:
Visual Studio 2008, Beta 2:
Download     You need VS2008 to do Silverlight 1.1 development, which is what this talk will focus on. What are your best choices for setting up SL projects for debugging? What other VS settings make debugging easier? What does not yet work in the beta? What new or revised features are cool?
Reflector:
Download     Browse SL assemblies for classes and methods.  See decompiled C# code and internal items not visible to VS Object Browser. 
DebugView:
Download     See calls to Debug.WriteLine on end-user machine without VS.
WinDbg:
Download     Use the classic unmanaged debugger to look at the 90% of Silverlight GUI code that is unmanaged and normally hidden from VS. Not easy to use, but worth considering for high dollar value bugs.
Process Explorer:
Download     PE gives a 10,000 foot view of all processes, including IE or Firefox with Silverlight DLLs loaded. Verify DLL versions, paths. Snapshot stack traces. Who has what files open? Setting up symbols.
Process Monitor:
Download     PM replaces FileMon and RegMon. Also shows process and thread creation/destruction. Watch a SL app failing to load. Diagnose permissions failures.
Fiddler:
Download     Watch HTTP requests and responses for SL pages. See details of SL loading failures.
IE Developer Toolbar:
Download     Browse the HTML element tree of your SL page. Edit CSS styles on the fly.
Silverlight Spy:
Download     Browse XAML element tree. Browse and edit object properties.
Snoop (WPF-only today, coming for SL):
Download     Browse XAML element tree. Browse and edit object properties. Watch routed events.