Template metaprogramming is an emerging new direction in C++ programming for executing
algorithms in compilation time. Despite all of its already proven benefits and numerous
successful applications, it is yet to be accepted in industrial projects. One reason
is the lack of professional software tools supporting the development of template
metaprograms. A strong analogue exists between traditional runtime programs and compile-time
metaprograms. This connection presents the possibility for creating development tools
similar to those already used when writing runtime programs. This paper introduces
Templight, a debugging framework that reveals the steps executed by the compiler during
the compilation of C++ programs with templates. Templight's features include following
the instantiation chain, setting breakpoints, and inspecting metaprogram information.
This framework aims to take a step forward to help template metaprogramming become
more accepted in the software industry.