2016-03-03 84 views
1

我一直在试图验证exe文件的代码覆盖率。为了达到这个目的,我试图测试exe文件(不是dll),然后开始/停止覆盖。每个教程只描述dll的工具。是否有可能实现它的EXE?如果是的话,我需要给出什么特别的选择。我可以使用vsinstr来测试一个exe文件吗?

下面是命令,我一直在努力为EXE:

vsinstr -coverage Test.exe 

返回成功的消息,并创建EXE

vsperfcmd -start:coverage -output:Result.coverage 

vsperfcmd -shutdown 

的另一个副本,它成功地创建了输出文件。但是,当在Visual Studio中打开的文件显示错误消息: “产生空结果:没有安装二进制文件,确保测试运行,加载了所需的二进制文件,具有匹配的符号文件,并且没有通过自定义设置排除。

请帮

+0

有关二进制检测的替代方法,请参阅http://softwarerecs.stackexchange.com/questions/19827/microsoft-c-code-coverage-software/19828#19828 –

回答

0

你的第一个命令启动探查服务和你的第二个将其关闭(并使其写入其输出)。你缺少的是-attach命令。

vsperfcmd -attach:PID 

其中PID是你的进程的数字ID。

一旦你连接到一个进程,它将开始收集覆盖率数据。做任何你需要的东西来锻炼你的代码,然后运行shutdown命令来获得你的输出。

相关问题