Writing a Custom Debugger Visualizer for Visual Studio

Header Photo Credit: Lorenzo Cafaro (Creative Commons Zero License)

You've hit your Visual Studio breakpoint, opened the watch window and you're looking at a wall of nested collections and object graphs. You know the data you want is in there, but digging it out of the built-in data table UI feels like the "doing it the hard way" part of an infomercial.

Now, imagine being able to shape your data the way that makes it easiest to understand and debug, limited only by your imagination (and time, of course).

This is the potential embodied in the Visual Studio Debugger Visualizer feature, available in all version of Visual Studio on Windows (even the free Community edition!) that lets you create your own graphical display of your .NET data structures while debugging. Shape the data the way you want to make it easier to digest -- hide unimportant info, quickly expose deeply nested elements, compare large object graphs, or even instantly search Stack Overflow for help with an Exception. Display it in whatever way is best for your data and your understanding of it, act on the data and even modify the it from your custom view.

This series of post walks you through creating your own Debugger Visualizer.

You can find code samples to go along with this series in my DebugVisualizer GitHub repository.

Posts in the series:

I've also given a talk on this topic: Putting the Visual into the Visual Studio Debugger.