VS2008 Team版本IDE提供了对非原生代码的覆盖测试。但是也提供了通过命令行方式对原生C++代码进行支持。步骤如下:
- 使用/PROFIE选项对项目进行编译:配置->链接->高级->探查.
- 分析工具放在\Microsoft Visual Studio 9.0\Team Tools\Performance Tools中
- 对编译生成的exe或者dll添加一些指令代码, vsinstr.exe 生成的dll或者exe /COVERAGE 。执行之后会生成同名的dll或者exe,并且将原先的dll或者exe添加.orig扩展名
- 启动覆盖测试的监听器。 VSPerfMon.exe /COVERAGE /OUTPUT:report名字
- 启动exe程序,监听器会计算代码的覆盖度
- 手动关闭监听器。 VSPerfCmd.exe /SHUTDOWN
- 监听器停止之后就会生成.coverage。这个文件可以直接用VS2008打开
参考原文地址:
http://blogs.msdn.com/b/cellfish/archive/2008/11/16/native-c-code-coverage-reports-using-visual-studio-2008-team-system.aspx