Silverlight Debug Helper

This project is a small and simple Visual Studio Extension that automatically attaches the Silverlight debug engine to the correct browser processes when you start debugging a Silverlight project.

History

The need for this project emerged back in 2010 when Firefox started to isolate browser plug-ins into a separate process (named "plugincontainer.exe" for Firefox) for security and stability reasons. This resulted in Visual Studio not being able to automatically attach the to the correct process for debugging anymore, and manually attaching the debugger every time is pretty unnerving. Turning off the new isolation features was not an option for me, as this meant to work and test an application under different conditions than probably 99% of all my users, which has the potential to let subtle but severe bugs slip through. The debug helper was born, and I made it available for free to everyone in mid-2010 on my blog.

With other browsers evolving and being released, I noticed that Visual Studio often also was not able to correctly attach to Internet Explorer 9, and newer versions of Chrome, depending on the situation and your workflow, so I decided to extend support to these browsers in 2011.

Since 2010, more than two dozen developers I personally know have started using this tool successfully, and I personally have enjoyed the comfort of this in all of my Silverlight projects without side-effects or other problems. Every now and then someone asks me about releasing the source code, either to extend the functionality, to track down issues, or to simply learn about how I implemented certain details. Here you go, the source is yours :). I hope you enjoy this project and find use for it.

Peter Kuhn ("Mister Goodcat"), February 2012
 

Compatibility to Visual Studio 2012

Originally, the tool was designed as Visual Studio Add-In, which caused some compatibility issues with Visual Studio 2012 RC. I decided to turn the Debug Helper into an Extension to resolve these issues, a step I wanted to do anyway. Starting with version 1.2, Silverlight Debug Helper supports both Visual Studio 2010 and 2012, and the preferred way to get and install it now is using the Extension Manager in Visual Studio itself, or the Visual Studio Gallery.

Peter Kuhn ("Mister Goodcat"), June 2012
 

Usage

Installation

Simply download and install the .vsix package, preferably from the Visual Studio Gallery (here), or directly from within Visual Studio using the Extension Manager. The on-screen instructions guide you through the installation process, which really only requires you to accept the license (Ms-PL).

Use

There's nothing you have to do explicitly to use the extension. It will do all its work behind the scenes as soon as you start debugging a Silverlight project.

Troubleshooting

If you run into any problems, or if the the extension does not do what it is supposed to do, your first step should be to closely take a look at Visual Studio's Debug Output window pane. Silverlight Debug Helper will output status messages there to help you keep track of what the Add-In is trying to do, and where it may have failed. That should give you a clue what's wrong.

You can also download the sources and debug the code if you want. The structure of the extension is pretty simple, and the source is well documented, both of which should give you an easy start.

Removal

The extension is managed by Visual Studios Extension Manager, and can easily be uninstalled or disabled by that if you want to.

Known issues

None for version 1.2+ so far.

More?

If you think something's missing on this page, in the extension, or have additional questions in general, feel free to contact me.

Happy debugging!

Last edited Jun 23, 2012 at 10:09 AM by Mister_Goodcat, version 4

Comments

midix Oct 14, 2014 at 7:50 AM 
Thanks. One note: please, add Visual Studio 2013 support (version number 12.0) to the extension manifest. I just did it manually, and it seems working fine with Visual Studio 2013.

DalyProcessing Mar 22, 2013 at 9:14 PM 
Thank You! Your program resolved two days of frustration of not being able to debug while chasing a project deadline.