Boost logo

Boost :

Subject: Re: [boost] vsix - template_profiler extension, Templight
From: József Mihalicza (jmihalicza_at_[hidden])
Date: 2011-10-09 14:30:18


From: Domagoj Saric: might want to try the Templight route. A couple of
years back the Hungarian team behind it tried to do the same thing as you (a
"meta program debugger and profiler" Visual Studio add-in, only it was
in C++ rather than in C#). The source for an alpha-ish version was also
available somewhere...

The biggest problem with our tools is that they are rather prototypes than
tools for everyday use. As none of the authors have had enough time to
maintain them, they more or less remained in an alpha state. Fortunately
this seems to change soon, a team with dedicated resources is being formed
to make these tools usable and presumably public domain.
What we have so far:
* Templight framework: a set of command line utilities, based on Xerces and
boost.{wave,spirit}. Supports g++ and VC (patches and warning message
* Visual Studio add-in, where the user can place breakpoints in templates,
view template stack, instantiation history, debug step by step.
* Standalone debugger application with the same features as of the VS
add-in. C++, Qt, mainly tested on Windows.
* Templar: standalone visualizer application: can load previously generated
(with the cpp2trace tool) trace files and draws the instantiation forest
allowing step by step debugging. C++, Qt, graphviz.
The latest binary for Windows is available here:
* Ad-hoc solutions for profiling: modified g++, also had some patches for VC
to print timestamp at each warning.
* A not-yet-implemented approach to cope with inheritance. If B inherits A,
currently the reported order is Abegin,Aend,Bbegin,Bend instead of the
expected Bbegin,Abegin,Aend,Bend.

As we used handcrafted makefiles (on linux) and projects files (VC) with
absolute paths to installed libraries, it is not trivial to make the source
compilable. This is why we decided not to publish it in its current form.
Still, if anyone is interested in any of them, feel free to contact me, I
can send the current version.


Boost list run by bdawes at, gregod at, cpdaniel at, john at