• If you are citizen of an European Union member nation, you may not use this service unless you are at least 16 years old.

  • You already know Dokkio is an AI-powered assistant to organize & manage your digital files & messages. Very soon, Dokkio will support Outlook as well as One Drive. Check it out today!

View
 

SilverlightDevCampSFSilverlightDebugging

Page history last edited by PBworks 16 years, 7 months ago

Session outline with links to tools

 

Session summary:

 

Process Explorer allows you to go beyond task manager and see your processes in a tree structure to see the parent and child relationships, as well as a performance graph. Double clicking a process will give more details about a process, including a list of threads. Processes are color coded, coloring, for example, .NET applications differently than others. With Process Explorer, it can be seen that a Silverlight application brings in quite a few dlls from the Silverlight directory. Opening the threads window will show you the CPU cycles and memory usage of the app. On-the-fly stack traces are also available.

 

The successor to FileMon is Process Monitor. Process Monitor is like FileMon, and throws in some new capabilities. Basically, it captures a trace of all file system, registry, and other activity on your machine. The big problem with this is filtering out the noise of the massive amounts of activity. With the filtering capabilities brought up at launch, you can look at only the information you want to see.

 

Using Process Monitor, you can examine why the page will occasionally bring up the install badge despite the plugin being installed on the page. What you would see in Process Monitor is the different DLLs being looked for, but not found. The plugin is looking for the exact DLL with the version included in the name. If it isn’t found, the installer badge will be shown.

 

Debug View allows you to see debug statements without needing to run VS. If your application makes use of debug statements, you can run this application on a clients machine to find out what is causing any problems they may be experiencing.

 

Snoop is an application written in C# and managed C++ that spies on WPF apps, and will eventually spy on Silverlight apps. As an example, Expression Blend can be examined by injecting the application to be spied on. Moving your mouse over an application being spied on will show you the element tree, highlighting the element the mouse is hovering over. It is also possible to modify settings in an application on the fly, such as background colors. Additionally, you can access a routed events view, showing bubbling and tunneling, and whether events are handled.

 

Reflector allows you to decompile IL back to source, in many languages. You can also examine the XAML resources, allowing you to save them out and open them in your favorite editor. An analyzer also provides the ability to see what methods make use of other methods. Make sure to read the license on the software that you are using reflector to examine to make sure that you aren’t breaking any agreements.

 

Fiddler is a tool written by another Microsoft employee that is installed as an Internet Explorer plugin. It acts as a proxy server to spy on the http traffic that the browser is transmitting and receiving. Requests for items such as the initial page request and any javascript files included will be displayed in the main page, and are available for further inspection. Fiddler does not necessarily need to be installed in IE. It can also be used to debug web services. A similar application in Firefox is Firebug. It contains some javascript debugging as well as a tab with information comparable to Fiddler.

 


 

Back to SilverlightDevCampSFSessions