仅分析VS2010所需的命名空间

时间:2011-02-17 21:45:44

标签: c++ visual-studio-2010 profiling profiler

vsinstr.exe可以选择只包含需要配置文件的命名空间。

使用此选项,我可以获取vsp文件。

cl /Zi helloclass.cpp /link /Profile
vsinstr helloclass.exe /include:Fpga::*
vsperfcmd /start:trace /output:trace.vsp
helloclass
vsperfcmd /shutdown

但是,它仍然包含std::名称空间。

enter image description here

ADDED

我尝试使用/ exclude:std :: *,我得到的功能太多了,包括std::函数。 enter image description here

可能出现什么问题?

2 个答案:

答案 0 :(得分:1)

根据http://msdn.microsoft.com/en-us/library/ms182402%28v=vs.80%29.aspx

/include不接受通配符,请尝试使用/exclude:std::*

编辑:尝试添加/exclude:::__*/exclude:__*以摆脱以__开头的全局命名空间函数。没有对此进行测试,文档不清楚,但值得一试。

答案 1 :(得分:1)

根据VS {2010的https://msdn.microsoft.com/en-us/library/ms182402%28v=vs.100%29.aspx vsinstr.exe(以及截至2015年),代码覆盖率不支持/include。 因此,清除结果的唯一方法是使用/exclude:std::*

您还可以在检测过程本身之前检查将要检测的功能,并使用/dumpfuncs选项节省您的时间,如下所示:

vsinstr.exe /dumpfuncs /exclude:std::* /exclude:`std::* > foo.txt