Boost logo

Boost :

Subject: Re: [boost] Graphical debugging extension for VS2015 (Container, Geometry, Polygon, Variant, ...)
From: Adam Wulkiewicz (adam.wulkiewicz_at_[hidden])
Date: 2015-09-16 16:27:16


Ion Gaztañaga wrote:
> On 16/09/2015 3:15, Adam Wulkiewicz wrote:
>> Hi,
>>
>> For some time now I've been thinking about extending the capabilities of
>> a debugger and to visualize data in more convenient way than the raw
>> numbers. It's obvious to me that in many cases variables could be
>> graphically visualized, in many cases this is the "natural"
>> representation, this would greately simplify the debugging. I haven't
>> found anything like it so I've decided to play with the VS2015
>> extensions, mostly because they're easy to write. This is what I came up
>> with (see the readme):
>>
>> https://github.com/awulkiew/graphical-debugging
>
> Adam, this is awesome. I think we should somehow standardize those
> visualizers in Boost. Maybe another Boost library could be the answer,
> including pretty-printers for GDB. Any visualizer or pretty-printer
> expert in the community?
>

Some time ago I also have written QtCreator debugging helpers for types
I needed to debug:

https://github.com/awulkiew/debugging-helpers

They require QtCreator so cannot be used directly with GDB but on the
other hand should work with all debuggers compatible with QtCreator.

There are only some third-party visualizers for VS2012+ mentioned here:

https://svn.boost.org/trac/boost/wiki/DebuggerVisualizers

I guess Boost community could maintain a library containing such
additions. Writing the visualizers is easier for VS2012+ than it was in
the past. Now for instance you simply have to add them into the project.
I don't think we need to support older versions. If each maintainer
wrote a single natvis file for types from his library we'd have the
whole Boost covered in a week, and AFAIK this would work with 3 latest
versions of VS.

> This could be also a really useful project for GSOC.

Are you talking about visualizers or the VS extension?

Actually in both cases I agree. Regarding the extension, for now the
graphical visualization is hardcoded. I can imagine that it could be
tweakable the same way as native visualizers are. A user could write
some XML file defining how a variable should be visualized, etc. This
would be very useful in particular for libraries where concepts play an
important role so basically a user can use any type he/she wants. And
there are more issues in this extension that could be addressed. I also
thought about writing a plugin for QtCreator doing the same thing as the
VS2015 one but I got an impression that it requires more attention than
VS extension. My point is that in general it would be nice to support
several different IDEs, debuggers, etc. If only there was enough free
time...

Regards,
Adam


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk