Поделиться через


Caller/Callee view - .NET memory sampling data

Applies to: yesVisual Studio noVisual Studio for Mac

Note

This article applies to Visual Studio 2017. If you're looking for the latest Visual Studio documentation, see Visual Studio documentation. We recommend upgrading to the latest version of Visual Studio. Download it here

The Caller/Callee view displays .NET memory profiling data for a selected function and its parent and child functions. The Caller/Callee view contains three grids.

Current function is displayed in the middle grid, and it shows memory profiling information about the selected function. The values include all sampled calls to the function.

Functions that called the current function is displayed in the top grid, and it shows the amount of the value of the selected (current) function that was generated by calls from the caller (parent) function.

Functions that were called by the current function is displayed in the bottom grid, and it shows memory profiling data for the callee (child) functions of the selected function when the child function was called by the current function.

Double-click a caller or callee function row to make that row the current function.

Column Description
Process ID The process ID (PID) of the profiling run.
Process Name The name of the process.
Module Name The name of the module that contains the function.
Module Path The path of the module that contains the function.
Source File The source file that contains the definition for this function.
Function Name The fully qualified name of the function.
Function Line Number The line number of the start of this function in the source file.
Function Address The address of the function.
Type The context of the function:

0 - the current function

1 - a function that calls the current function

2 - a function that is called by the current function

Only in VSPerfReport command-line reports.
Level The depth of the function in the call tree. Only in VSPerfReport command-line reports.
Inclusive Allocations - For the current function, the number of objects that were allocated by the function in the profiling run. This number includes objects that were created in callee functions.
- For a caller function, the number of the inclusive allocations of the current function that were generated by calls from this function.
- For a callee function, the number of objects that were allocated by the instances of this function that were called by the current function. The number includes allocations that were made by functions that were called by the callee function.
Inclusive Allocations % The percentage of all objects that were created in the profiling run that were inclusive allocations of this function.
Exclusive Allocations - For the current function, the number of objects that were created when the function was executing code of the function body (that is, when the function was at the top of the call stack). The number does not include objects that were created in functions that were called by the function.
- For a caller function, the number of the exclusive allocations of the current function that were generated by calls from this function.
- For a callee function, the number of objects that were created by the instances of this function that were called by the current function. The number does not include objects that were created by functions that were called by the callee function.
Exclusive Allocations % The percentage of all objects that were created in the profiling run that were inclusive allocations of this function.
Inclusive Bytes - For the current function, the number of bytes of memory that were allocated by the function in the profiling run. The number includes memory that was allocated in functions that were called by this function.
- For a caller function, the number of the inclusive bytes of the current function that were generated from calls by the caller function.
- For a callee function, the number of bytes that were allocated by the instances of this function that were generated by calls from the current function. The number includes bytes that were allocated by functions that were called by the callee function.
Inclusive Bytes % The percentage of all bytes of memory that were allocated in the profiling run that were inclusive allocations of this function.
Exclusive Bytes - For the current function, the number of bytes of memory that were allocated by the function in the profiling run. This number does not include memory that was allocated by functions that were called by the current function.
- For a caller function, the number of the exclusive bytes of the current function that were generated by calls from the caller function.
- For a callee function, the number of bytes that were allocated by instances of the function that were generated by calls from the current function. The number does not include bytes that were allocated by functions that were called by the callee function.
Exclusive Bytes % The percentage of all bytes of memory that were allocated in the profiling run that were exclusive allocations of this function.

See also