我创建了一个批处理文件来生成代码覆盖率文件,就像这个post中所写的那样。
cl /Zi hello.cpp -link /Profile
vsinstr -coverage hello.exe
start vsperfmon /coverage /output:run.coverage
hello
vsperfcmd /shutdown然而,当我运行批处理文件时,我得到了这个错误消息。

我不得不手动运行vsperfcmd /shutdown来完成它。可能出了什么问题?
发布于 2011-02-11 10:26:42
这只是一个时机问题。
start vsperfmon /coverage /output:run.coverage命令在单独的进程中启动vsperfmon.exe。
同时,您的脚本继续运行hello。如果hello是一个非常简单的程序,那么它有可能在vsperfmon.exe运行和完全初始化之前执行和完成。如果您的脚本在监视器启动和运行之前点击vsperfcmd /shutdown,您将得到您所显示的错误。
vsperfcmd只是vsperfmon的一个控制器/启动器,所以您可以在批处理文件中专门使用它:
cl /Zi hello.cpp -link /Profile
vsinstr -coverage hello.exe
vsperfcmd /start:coverage /output:run.coverage
hello
vsperfcmd /shutdown在这种情况下,对vsperfcmd的第一个调用将阻塞,直到监视器启动并完全运行。
发布于 2014-05-22 02:40:35
要使用IIS Express应用程序对已插入指令的文件执行此操作:从C:\Users\<your user>\Documents\IISExpress\config\applicationhost.config获取站点的名称
vsperfcmd /start:coverage /output:run.coverage
"c:\Program Files (x86)\IIS Express\iisexpress.exe" /site:"<that thing you got from applicationhost.config>"浏览器可能会自动启动。在你的代码中点击,做你的手动测试。
然后才能结束
vsperfcmd /shutdownhttps://stackoverflow.com/questions/4958776
复制相似问题