[PATCH] Add some natvis visualizers for llvm::Value and llvm::Type

Zachary Turner zturner at google.com
Thu Jun 26 14:13:31 PDT 2014


FWIW I actually wrote one that's used for anyone working on Chromium.  It's
a Visual Studio plugin, and unfortunately you need a fairly significant
amount of plumbing to get it up and running, but once it's there it's not
too bad to add new stuff to.  You still wouldn't want to do it for every
little thing, as for simpler cases natvis is still superior.  But it does
give you quite a bit more control over how things are displayed.  If you're
interested, the project is here:

https://github.com/chromium/vs-chromium/

and the stuff of interest, after you cut through all the boilerplate, is in
here: https://github.com/chromium/vs-chromium/tree/master/src/DkmIntegration

I've thought about doing the same type of thing here, but just getting
through all the boiler plate stuff to a simple visualizer up would be a day
or two.


On Thu, Jun 26, 2014 at 2:08 PM, Aaron Ballman <aaron.ballman at gmail.com>
wrote:

> On Thu, Jun 26, 2014 at 5:04 PM, Zachary Turner <zturner at google.com>
> wrote:
> > Looks like we crossed paths.  I just submitted an update to this at this
> > very moment, although I changed the title of the review.  Either way,
> > visualizers aren't too critical so if I'll just push it in sometime later
> > today.  If you have any feedback though let me know as I'm still learning
> > this natvis stuff.
> >
> > BTW, do you think there would be any interest in having a DLL where we
> could
> > write arbitrary code to generate the visualization tree?  It seems like
> > natvis is frustratingly limited in what you can specify.
>
> It's crossed my mind that this might be a good way to do it, but I
> don't honestly know what the cost/benefit ratio would be. I've not
> looked into it particularly far, and mostly just lived with natvis
> (which is far better than the previous incarnation of debug viewers,
> despite all of the & and < problems).
>
> ~Aaron
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20140626/7716b775/attachment.html>


More information about the llvm-commits mailing list