Enumerable Debugger Visualizer

An enumerable Debugger Visualizer for Visual Studio that displays any registered IEnumerable object such as a lists, collections, dictionaries and Linq enumerables in a GridDataEditor 

image

The GridDataEditor supports filtering, sorting and exporting.

Installation

Binary

- Version 3.2
Download AW.EnumerableVisualizer.2015.exe or AW.EnumerableVisualizer.2013.exe  and run, you will be presented with this install screen:

image_thumb[1]

You may need to run it as admin to install for all users.

- Earlier versions

Version 3: Download AW.EnumerableVisualizer.2012.exe  and run:

 

Download AW.EnumerableVisualizer.dll(VS2008) or AW.EnumerableVisualizer.dll(VS2010) then copy it to either of the debugger visualizers directories: How to: Install a Visualizer

Note, the binary is an ilmerge of the AW.DebugVisualizers.dll and its support assemblies.

Source code

  1. Repository code is downloadable from the source code tab, though I recommend using TortoiseSVN for the getting the source from the repository.
  2. Build the solution AW.DebugVisualizers.sln
  3. Run DebugDeploy.bat which copies AW.DebugVisualizers.dll and its support assemblies to %userprofile%\My Documents\Visual Studio 20XX\Visualizers.
    or use ILMerge-GUI to build a single executable from AW.DebugVisualizers.ilproj

Note

Unfortunately you can't register a debugger visualizer for interfaces so every IEnumerable class must registered individually. The, over 500, mainly BCL, classes that are registered can be seen in the file VisualizerRegistrations.cs, you can easily add more to the source code.

If you wish to visualize a non-registered variable you can wrap the variable you want to inspect like this: new System.WeakReference(variable_to_inspect) in the same way that http://code.google.com/p/linqpadvisualizer/  supports.

How it works

Uses the Bi­na­ry­For­mat­ter se­ri­al­iz­er.

Strategy is:
if the items are serializable then
  if the enumerable is also serializable then
    serialize the enumerable
else
  create an ObjectListView to contain the items and serialize that.
Full back is to:
Copy the enumerable to a DataTable and serialize that.

 

Other debugger visualizers Links

 

Other debugging Links

 
Collection Debugger Visualizer, List Debugger Visualizer

Last edited Aug 30, 2016 at 11:40 AM by JezzaT, version 50

Comments

No comments yet.