C++ 是否有一种方法可以输出本机C+;的代码覆盖率文件+;每次在VS2012中运行应用程序时?
我目前正在查看代码的覆盖范围,我需要一个.coverage文件来查看它。我已经找到了如何通过这个检索本地C++的覆盖文件。 它们按照以下步骤输出.coverage文件:C++ 是否有一种方法可以输出本机C+;的代码覆盖率文件+;每次在VS2012中运行应用程序时?,c++,visual-studio-2012,code-coverage,C++,Visual Studio 2012,Code Coverage,我目前正在查看代码的覆盖范围,我需要一个.coverage文件来查看它。我已经找到了如何通过这个检索本地C++的覆盖文件。 它们按照以下步骤输出.coverage文件: 首先,必须使用/PROFILE链接选项编译项目。如果调出项目属性,可以在以下位置找到: 配置属性->链接器->高级->配置文件 然后可以在以下目录中找到探查器工具: C:\Program Files\Microsoft Visual Studio 9.0\Team Tools\Performance Tools 您需要向EXE或
我想知道是否有一种方法可以自动执行此操作,以便此工具在每次运行程序时将.coverage文件输出到同一位置。这将使获得我的代码覆盖率更加容易和快速。有人知道如何在Visual Studio 2012中用任何C++程序运行吗?< /P> VS 2012有一个新的覆盖工具,不需要任何这些步骤。新工具的唯一要求是,在收集覆盖率数据时,.pdb文件需要是可发现的(以前是用于检测和分析的)。看看我对这件事的看法。谢谢你的回复!我试着使用CodeCoverage.exe的collect命令,结果它的用法一塌糊涂。然后我运行了这个程序,它成功地完成了,我在Windows资源管理器中检查了输出位置,但它没有输出.coverage文件。我做错了什么吗?输出开关应该与CWD相关,因此如果您执行了
CodeCoverage.exe收集/输出:foo.coverage foo.exe
,您应该可以在运行命令的目录中立即看到该文件。它是在收集开始时创建的,但覆盖率数据只在特定时间刷新到磁盘(如关闭收集)。注意,与旧的覆盖工具不同,没有“工具”步骤;collect命令运行您给它的程序,并在收集过程中动态插入它。嗯,我正在与Visual Studio相同的工作目录中运行该命令(右键单击项目文件夹->在命令提示符下打开),并运行该确切的命令(除了我的.exe文件),而我没有收到任何.coverage文件。我正在使用更新3运行VS2012,更新3是否与CodeOverage工具兼容?我不明白为什么我不能让它工作。另外,感谢您尝试帮助我。鉴于您不能在程序文件下写入任何内容,除非您在提升的上下文中运行,我猜是由于文件系统虚拟化,覆盖率文件被重定向。我将为输出选项提供一个完整路径,该路径指向用户可以写入的目录。