“调用方/被调用方”视图 - 探查器 .NET 内存检测数据

使用检测方法所收集的 .NET 内存分析数据有一个“调用方/被调用方”视图,其中显示所选函数及其父函数和子函数的内存分配和计时数据。 “调用方/被调用方”视图包含三个网格。

**“当前函数”**显示在中间网格内,用于显示有关所选函数的内存分析信息。 值包括对该函数采样的所有调用。

**“调用当前函数的函数”**显示在顶部网格内,用于显示因调用方(父)函数的调用,而生成的所选(当前)函数的值的数量。

**“由当前函数调用的函数”**显示在底部网格内,用于显示在当前函数调用被调用方(子)函数时,所选函数的子函数的内存分析数据。

双击调用方或被调用方函数行可使该行成为当前函数。

常规

说明

函数名

函数名。

函数地址

函数的地址。

函数行号

函数在源文件中的起始行号。

调用数

对此函数进行的调用总数。

源文件

包含函数定义的源文件。

模块名

函数所在模块的名称。

模块路径

函数所在模块的路径。

进程 ID

分析运行的进程 ID。

进程名

分配给过程的名称。

时间独占探测系统开销

此函数由检测导致的时间开销。 所有独占时间中已扣除探测开销。

时间包含探测系统开销

此函数及其子函数由检测导致的时间开销。 所有非独占时间中已扣除探测开销。

类型

函数的上下文:

0 - 当前函数

1 - 调用当前函数的函数

2 - 当前函数调用的函数

仅用于 VSPerfReport 命令行报告。

根函数名

当前函数的名称。 仅用于 VSPerfReport 命令行报告。

.NET 内存分配值

说明

独占分配

  • 对于当前函数,是在该函数执行函数体内的代码时(即该函数位于调用堆栈顶部时)所创建的对象数。 此数目不包括由此函数调用的函数所创建的对象。

  • 对于调用方函数,是由此调用方函数的调用生成的当前函数的独占分配数。

  • 对于被调用方函数,为此函数中由当前函数调用的实例所创建的对象数。 此数目不包括由被调用方函数调用的函数所创建的对象。

独占分配数 %

在分析运行期间创建的,此函数的所有独占分配对象数的百分比。

非独占分配

  • 对于当前函数,是该函数在分析运行中所分配的对象数。 此数目包括由该函数调用的被调用方函数中创建的对象。

  • 对于调用方函数,是由此调用方函数的调用生成的当前函数的非独占分配数。

  • 对于被调用方函数,是由当前函数的调用生成的此函数的实例所分配的对象数。 此数目包括由此被调用方函数调用的函数所进行的分配。

非独占分配数 %

在分析运行期间创建的,此函数的所有非独占分配对象数的百分比。

独占字节数

  • 对于当前函数,是该函数在分析运行中所分配的内存字节数。 此数目不包括由该函数调用的被调用方函数所分配的内存。

  • 对于调用方函数,是由此调用方函数的调用生成的当前函数的独占字节数。

  • 对于被调用方函数,是由当前函数的调用生成的此函数的实例所分配的字节数。 此数目不包括由被调用方函数调用的函数所分配的字节数。

独占字节数 %

在分析运行期间分配的,此函数的所有独占分配内存字节数的百分比。

非独占字节数

  • 对于当前函数,是该函数在分析运行中所分配的内存字节数。 此数目包括由此函数调用的被调用方函数中分配的内存。

  • 对于调用方函数,是由此调用方函数的调用生成的当前函数实例的非独占字节数。

  • 对于被调用方函数,是由当前函数的调用生成的此函数的实例所分配的字节数。 此数目包括由此被调用方函数调用的函数所分配的字节数。

非独占字节数 %

在分析运行期间分配的,此函数的所有非独占分配内存字节数的百分比。

已用非独占时间值

已用非独占时间值是函数在调用堆栈上的时间。 该时间包括子函数所用的时间和调用操作系统(如上下文切换和输入/输出操作)的时间。

说明

已用包含时间

  • 对于当前函数,是该函数所用的时间。 该值包括子函数所用的时间和调用操作系统(如上下文切换和输入/输出操作)的时间。

  • 对于调用方函数,是由此调用方函数的调用生成的当前函数的已用非独占时间量。

  • 对于被调用方函数,是由当前函数的调用生成的此函数所用的时间。 该值包括子函数所用的时间和调用操作系统(如上下文切换和输入/输出操作)的时间。

已用非独占时间百分比

在此上下文中此函数所用的已用非独占时间占分析运行中总已用非独占时间的百分比。

平均已用非独占时间

在此上下文中对此函数的调用的平均已用非独占时间。

最长已用非独占时间

在此上下文中对此函数的调用的最长已用非独占时间。

最短已用非独占时间

在此上下文中对此函数的调用的最短已用非独占时间。

已用独占时间值

已用独占时间值是函数在调用堆栈顶部直接执行的时间。 该时间包括调用操作系统(如上下文切换和输入/输出操作)的时间,但不包括子函数所用的时间。

说明

已用独占时间

  • 对于当前函数,是执行函数体所用的时间。 该值不包括子函数所用的时间,但包括调用操作系统(如上下文切换和输入/输出操作)的时间。

  • 对于调用方函数,是由此调用方函数的调用生成的当前函数的已用独占时间量。

  • 对于被调用方函数,是由当前函数的调用生成的此函数所用的时间。 该值不包括被调用方函数的子函数所用的时间,但包括调用操作系统(如上下文切换和输入/输出操作)的时间。

已用独占时间百分比

在此上下文中此函数所用总已用独占时间占分析运行中总已用独占时间的百分比。

平均已用独占时间

在此上下文中对此函数的调用的平均已用独占时间。

最长已用独占时间

在此上下文中对此函数的调用的最长已用独占时间。

最短已用独占时间

在此上下文中对此函数的调用的最短已用独占时间。

应用程序非独占时间值

应用程序非独占时间值是函数在调用堆栈上的时间。 该时间不包括调用操作系统(如上下文切换和输入/输出操作)所用的时间,但包括子函数所用的时间。

说明

应用程序包含时间

  • 对于当前函数,是该函数及其子函数所用的时间。 该值不包括调用操作系统(如上下文切换和输入/输出操作)所用的时间。

  • 对于调用方函数,是由此调用方函数的调用生成的当前函数的应用程序非独占时间量。

  • 对于被调用方函数,是由当前函数的调用生成的此函数及其子函数所用的时间。 该值不包括调用操作系统(如上下文切换和输入/输出操作)所用的时间。

应用程序非独占时间百分比

在此上下文中此函数所用的总应用程序非独占时间占分析运行中的总已用非独占时间的百分比。

平均应用程序非独占时间

在此上下文中对此函数的调用的平均应用程序非独占时间。

最长应用程序非独占时间

在此上下文中对此函数的调用的最长应用程序非独占时间。

最短应用程序非独占时间

在此上下文中对此函数的调用的最短应用程序非独占时间。

应用程序独占时间值

应用程序独占值指示该函数所用的时间,不包括子函数所用的时间。 另外,指示的时间不包括对操作系统的调用(如上下文切换和输入/输出操作)所用的时间。

说明

应用程序独占时间

  • 对于当前函数,是执行函数体所用的时间。 该值不包括子函数所用的时间,也不包括调用操作系统(如上下文切换和输入/输出操作)的时间。

  • 对于调用方函数,是由此调用方函数的调用生成的当前函数的应用程序独占时间量。

  • 对于被调用方函数,是由当前函数的调用生成的此函数所用的时间。 该值不包括被调用方函数的子函数所用的时间,也不包括调用操作系统(如上下文切换和输入/输出操作)的时间。

应用程序独占时间百分比

在此上下文中此函数所用的总应用程序独占时间占分析运行中的总已用独占时间的百分比。

平均应用程序独占时间

在此上下文中对此函数的调用的平均应用程序独占时间。

最长应用程序独占时间

在此上下文中对此函数的调用的最长应用程序独占时间。

最短应用程序独占时间

在此上下文中对此函数的调用的最短应用程序独占时间。

请参见

任务

如何:自定义分析工具报告视图列

参考

“调用方/被调用方”视图 - 探查器 .NET 内存采样数据

“调用方/被调用方”视图 - 探查器检测数据

“调用方/被调用方”视图 - 探查器采样数据