我想出了一个批处理文件来生成代码覆盖率文件,如本文所述 post .
cl /Zi hello.cpp -link /Profile
vsinstr -coverage hello.exe
start vsperfmon /coverage /output:run.coverage
hello
vsperfcmd /shutdown
但是,当我运行批处理文件时收到此错误消息。
我不得不跑
vsperfcmd /shutdown
手动完成它。可能有什么问题?
最佳答案
这只是一个时间问题。start vsperfmon /coverage /output:run.coverage
命令在单独的进程中启动 vsperfmon.exe。
同时,您的脚本继续运行 hello
.如果 hello
是一个非常简单的程序,它有可能在 vsperfmon.exe 运行和完全初始化之前执行并完成。如果您的脚本命中 vsperfcmd /shutdown
在监视器启动并运行之前,您将收到所显示的错误。vsperfcmd
只是 vsperfmon
的 Controller /启动器,因此您可以在批处理文件中专门使用它:
cl /Zi hello.cpp -link /Profile
vsinstr -coverage hello.exe
vsperfcmd /start:coverage /output:run.coverage
hello
vsperfcmd /shutdown
在这种情况下,第一次调用
vsperfcmd
将阻塞,直到监视器启动并完全运行。
关于visual-studio-2010 - 批量运行VS代码覆盖工具,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4958776/