views:

1210

answers:

5

I'm looking for a code coverage tool that I can easily use with Visual Studio. It must support c++. What have your experiences been with these applications? Did they work well with lots of lines of code? (we have somewhere in the region of a million lines of code). How well does it break down the results? Lines? Functions ? Classes? Does the application instrument the code?

+1  A: 

Take a look at PurifyPlus. It includes PureCoverage (and Quantify) which should tell you what you want.

The way all 3 of the included tools (Purify, Quantify, PureCoverage) works is by object code instrumentation; the Windows version doesn't even require access at link-time, it instruments the code at run-time. So you don't have to worry about integrating it with your build process.

Jared Oberhaus
I've had bad experiences with Purify, instrumentation caused changes in program behavior, etc. Their updates were also virtually non-existent for native code support for at least the last five years. I would not recommend it based on my experience.
Nick
Yes, you're right, it's sad how Purify has been neglected for so long. Also, another disadvantage is that it doesn't support x64 (and who knows if it ever will).
Jared Oberhaus
+1  A: 

I've used AQTime. It works without modifying application source code, provide nice results, works fast. But I used this tool with not large project (about 5 mb of source code).

bb
+1  A: 

We just started using BoundsChecker for error, code coverage and performance analysis. It is very good but expensive.

Ferruccio
I've used BoundsChecker many years ago, does it still instrument the code at build time?
Mark Ingram
+1  A: 

C-Cover is a very good tool to find coverage. It is simple to use!!!

coolcake
+1  A: 

I've used AQtime and TrueCover (part of DevCenter, which also includes BoundsChecker) a fair bit for code coverage. I prefer AQtime, because it does instrumenting at run time using the PDB file, and hence can be used on the release version. For best results, I recommend using it with an automation tool. Personally I use TestComplete from the same people who make AQtime, but I know there are cheaper solutions out there such as AutoIT. Using an automation tool with a coverage and profile tool is probably the most efficient way of repeating and adding to coverage tests over multiple builds. I hate to go back to doing it manually.

Shane MacLaughlin