I have used gcov for testing code coverage, but when it comes to templated c++ code it doesn't work so well. I use boost::spirit extensively and gcov seems to simply ignore templated spirit code.
Also I am wondering if there is a coverage tool to show how threads interacts with each other, pinpointing the possible branches/race conditions/execution flows actually executed.
TestCocoon is a great tool to try, better than gcov with good tools and report facilities. As templates are compile-time beasts, I'm not sure what coverage information you want to get ?
my two cents