如何获得包含儿童的包容性样本?

时间:2018-07-16 12:26:52

标签: c# profiling

在VS 2015中,我运行了CPU使用情况配置文件,并且看到一个包含10%包含样本的函数(FunctionA)。此功能是从其他几个功能(ParentFunctions 1,2&3)中调用的。

当我查看3个父函数的包含样本时,它们的合并包含样本比子FunctionB的IS小得多!

我怎么知道哪个家长引起最多的使用?我习惯使用以前的探查器,其中父“ CPU时间”是其子级的汇总。为什么包含样本不能这样工作?我该如何切换到可以给我真实时间的东西?或者,我还能告诉其他哪个顽皮的父母吗?

2 个答案:

答案 0 :(得分:2)

您具有使用情况配置文件,但人们不知道Visual Studio 2015具有sampling profiling method

  

Visual Studio性能分析工具的采样性能分析方法   按设定的时间间隔中断计算机处理器并收集   函数调用堆栈。调用堆栈是一种动态结构,用于存储   有关在处理器上执行的功能的信息。

但请注意以下要求:

  

Visual Studio Ultimate,Visual Studio Premium,Visual Studio   专业

它还会为您提供包含性的示例:

  

在执行过程中收集的样本总数   目标函数。

     

这包括直接执行期间收集的样本   在此期间收集的功能代码和示例   执行由目标函数调用的子函数。

生成它的步骤:

  • 在Visual Studio中打开解决方案。将配置设置为发布。 (在工具栏上找到“解决方案配置”框,默认情况下将其设置为“调试”。将其更改为“发布”。)
  • Debug菜单上,选择Profiler,然后选择Performance Profiler
  • 选中Performance Wizard选项,然后单击Start
  • 选中CPU Sampling (recommended)选项,然后单击Finish

请注意

  • 完成运行该应用程序后,概要分析数据的“摘要”视图将显示在Visual Studio主窗口中,而新会话的图标将出现在“性能资源管理器”窗口中。

  • 如果您不是所使用计算机的管理员,则在使用探查器时,应以管理员身份运行Visual Studio。 (右键单击Visual Studio应用程序图标,然后单击“以管理员身份运行。

使用此guide for reference

答案 1 :(得分:0)

令人困惑的是,在VS2015中,您必须通过Debug / Profiler / Start Profiling菜单,而不是Analyze菜单。

不确定为什么...