Well, you need not to append them, but insert into proper section of this
file -- it has a headers like in the ini files [header]. So, if you
appended it, you added them into wrong section. As far as I rememmber, You
need to insert them into [AutoExpand] or [Visualizers], not the last
>> On Fri, Apr 3, 2009 at 8:16 AM, Filip Konvička
>> <[hidden email]> wrote:
>> > Hi all,
>> https://svn.boost.org/svn/boost/sandbox/boost_docs/subprojects/Debugger >> Visualizers
>> Thank you very much for your continued effort! I'll download these
> It's really interesting and probably an undermined power feature of MSVS.
> I've appended the autoexp.dat for my VS2008SP1 and given demo.cpp a try.
> But I have not noticed any apparent benefit.
> I believe I must have missed something abvious.
> Thanks for any help.
> Well, you need not to append them, but insert into proper section of
> this file -- it has a headers like in the ini files [header]. So, if you
> appended it, you added them into wrong section. As far as I rememmber,
> You need to insert them into [AutoExpand] or [Visualizers], not the last
> [hresult] sections
Yes, it is the [Visualizers] section. We say so in the wiki:
P.S.: I was asked several times why we need to use the headers for
visualization. There are two situations that require this.
First, when a template class has multiple base classes and we need to
access data in a base class that is not listed first, we need to know
its type to be able to cast the original object. The trouble is in that
we may not use any member typedefs that typically appear in the main
class. The general rule is that the debugger does not see any aliases
introduced using typedef. As an example, we may not use
This is required for visualizing Boost.MultiIndex. So we work around
this by introducing our own classes that mimic the layout of the
original classes and allow us to access the appropriate base classes (or
do some other dark magic).
The other case (introduced by this update) is the need to call custom
code for visualization. We use this for visualizing
boost::posix_time::ptime. There is no simple transformation of the
internal ptime data to a human readable form - so we use a trick that
allows us to call a user function during visualization. The function
must be simple enough (no constructors involved in the call,
well-matching argument types etc.) and it must be "accessible" - which
means visible and actually present in the translation unit (which we
enforce by having a global initializer call it in each translation unit).
I hope that this explains why we need the headers.
Thanks for your hardwork with these Visualizers.
I'm using Boost 1.39 with vs2008 and have the up to date version of the autoexp contents you've uploaded.
I'm finding the multi-index visualizer works well as long as I only have one index; I get a preview and a nice list of children. As soon as I add a second index I can no longer easily see the contents of my container. Is this expected?
Speaking of the MSVC Visualizers, is there a link to the visualizers
anywhere on the boost web site? I can't recall ever seeing one. I think
this would be a nice thing to have - perhaps on the "Getting Started on
Windows" page. Visualizers and the ability to add custom entries is one
of the best things about Visual Studio. I think most boost users don't
even know that there are some boost oriented visualizers out there.