Spying on Silverlight Applications with SilverlightSpy, a Must-have Tool


Have we ever wondered how Silverlight XAML gets rendered at run time or how events work on pages and how exactly the application performs on various hardware configurations. In this article we are introduced to a tool called SilverlightSpy, a must-have tool for all Silverlight developers. 


image.png

What is Silverlight Spy and its benefits

SilverlightSpy is a proprietary software tool from FirstFloor software. As of them: 

Silverlight Spy is a runtime inspector tool providing unprecedented access to all aspects of any Silverlight application. Explore the UI element tree, monitor events, extract XAML, interactively execute DLR code, view statistics and more, much more. 

It offers to developers the ability to snoop on the XAML of an application and also lots of other insight. A few of the amazing features of Silverlight Spy is listed below:
  • XAML DOM Structure  and Visual Tree
  • Run Time UI element statistics and property
  • Event Monitoring
  • Performance and Statistics

Silverlight application dissection using Silverlight Spy

In this example we will examine my earlier sample application StatesOfIndia deployed over shared hosting. Before reading the rest of this article make sure you have downloaded the latest version of tool check; the download link is at the end of this article.

SNAGHTML6dbc8c_thumb.png

Application Output Log

It provides complete XAP information and communication to server. 

image_thumb.png

XAML code and UI Elements 

You can view the UI element tree structure on a single button click. Not only does it show the details but you can also change the properties at run time and visualize the effects.

image_thumb_3.png

Along with the XAML visual tree it shows the XAML code and the C# code behind with the help of the reflector.

SNAGHTML8061d0_thumb.png

Event Monitoring 

It also supports logging of user interaction and keyboard mouse input.

image_thumb_4.png

Performance Snapshot 

Silverlight Spy allows you to have a close look at the resource and the memory usage of your system.

image_thumb_5.png

Personal View

Personally I feel it's amazing to be able to analyse an application and have detailed statistics. Although it is around the horizon for quite a few times, I got introduced to it recently. If you are developing a PRISM or MEF based solution then it gives you a better understanding of run time composition and UI structure. It helped me to understand the XAP download information via output logger and even to understand my own application much better at runtime. 

Hope this will be helpful for you too.

Downloads and Information

SilverlightSpy is available in two versions, Free and Paid versions, which can be downloaded from the following link: 

You can compare various editions of SilverlightSpy Here

A video introduction from the developer is available at channel9 , have a look at it Here .


Similar Articles