在VS 2015中,我运行了CPU使用情况配置文件,并且看到一个包含10%包含样本的函数(FunctionA)。此功能是从其他几个功能(ParentFunctions 1,2&3)中调用的。
当我查看3个父函数的包含样本时,它们的合并包含样本比子FunctionB的IS小得多!
我怎么知道哪个家长引起最多的使用?我习惯使用以前的探查器,其中父“ CPU时间”是其子级的汇总。为什么包含样本不能这样工作?我该如何切换到可以给我真实时间的东西?或者,我还能告诉其他哪个顽皮的父母吗?
答案 0 :(得分:2)
您具有使用情况配置文件,但人们不知道Visual Studio 2015具有sampling profiling method:
Visual Studio性能分析工具的采样性能分析方法 按设定的时间间隔中断计算机处理器并收集 函数调用堆栈。调用堆栈是一种动态结构,用于存储 有关在处理器上执行的功能的信息。
但请注意以下要求:
Visual Studio Ultimate,Visual Studio Premium,Visual Studio 专业
它还会为您提供包含性的示例:
在执行过程中收集的样本总数 目标函数。
这包括直接执行期间收集的样本 在此期间收集的功能代码和示例 执行由目标函数调用的子函数。
生成它的步骤:
Debug
菜单上,选择Profiler
,然后选择Performance Profiler
。Performance Wizard
选项,然后单击Start
。CPU Sampling (recommended)
选项,然后单击Finish
。请注意:
完成运行该应用程序后,概要分析数据的“摘要”视图将显示在Visual Studio主窗口中,而新会话的图标将出现在“性能资源管理器”窗口中。
如果您不是所使用计算机的管理员,则在使用探查器时,应以管理员身份运行Visual Studio。 (右键单击Visual Studio应用程序图标,然后单击“以管理员身份运行。
答案 1 :(得分:0)
令人困惑的是,在VS2015中,您必须通过Debug / Profiler / Start Profiling菜单,而不是Analyze菜单。
不确定为什么...