Search Results for

    Show / Hide Table of Contents

    Call Stacks View

    The call stack view is used to present call stacks and information about the allocations and instances related to the call stacks.

    Sort Stacks By

    The Sort stacks by field is used to define the order of the call stacks. Below is a list of all the possible options; however, the available options depend on the selected field set.

    The options are:

    • Allocs/sec (or Allocs)
      Shows the stacks first that have the most allocations (per second) between snapshots.

    • Bytes/sec (or Alloced bytes)
      Shows the stacks first that have the most allocated bytes (per second) in between snapshots.

    • Live instances
      Shows the stacks first that have the most live instances.

    • New live instances
      Shows the stacks first that have the most new live instances.

    • Live bytes
      Shows the stacks first that have the most live bytes.

    • New live bytes
      Shows the stacks first that have the most new live bytes.

    • Disposed instances
      Shows the stacks first that have the most disposed instances.

    • Undisposed instances Shows the stacks first that have the most undisposed instances.

    • Memory leak instances
      Shows the stacks first that have the most memory leak instances.

    • Allocs in gen #0 (or Allocs/sec in gen #0)
      Allocs in gen #1 (or Allocs/sec in gen #1)
      Allocs in gen #2 (or Allocs/sec in gen #2)
      Allocs in large heap (or Allocs/sec in large heap)

      Shows the stacks first that have the most allocations in the specified heap.

    • Unreachable instances
      Shows the stacks first that have the highest number of unreachable instances.

    • Unreachable bytes
      Shows the stacks first that have the highest number of unreachable bytes.

    Hide stacks with zero sort value

    If this checkbox is checked, then all call stacks for which the sort value is zero will be hidden.

    Stack Depth

    To limit the stack depth, the Stack depth field can be used. The stack depth can be selected either by choosing one of the pre-defined values or by entering an arbitrary stack depth. If the selected call stack depth is All, then all call stacks are presented at their full depth. Otherwise, if the depth of a call stack is greater than the selected stack depth, it will be truncated and an entry named [Truncated] will be appended. All call stacks that become equal after truncation will be merged, so truncating call stacks will reduce the number of call stacks presented.

    Call Stack

    The Call stack group box is used to present a single call stack. The navigator buttons above the call stack can be used to select which call stack to show.

    If source information is available for a method in the call stacks list, then a symbol () will be shown to the left of the method. If running under Visual Studio the source can be shown by double-clicking the method or by selecting the Show source command.

    The functions presented in the call stack depend on the Call Stack Functions setting. This setting can be changed using the Call Stack Functions command in the View menu or the call stack context menu. The available options are:

    • Source
      Only includes functions and methods that have source information. Other functions and methods will be presented as [Skipped frame].

    • Publically visible
      Only includes native functions that are exported or managed methods that are externally visible. Other functions and methods will be presented as [Skipped frame].

    • All
      Includes all functions and methods that are available in the call stack.

    Note

    The actual functions and methods available depend on the call stack session settings. For more information, see Call Stacks Settings Page.

    To the right of the allocation call stack, an info panel is used to present information about the instances allocated by the stack. The fields presented include:

    • Live instances

    • New live instances

    • Allocs/sec (or Allocs)

    • Bytes/sec (or Alloced bytes)

    • Live bytes

    • New live bytes

    • Disposed instances

    • Delta undisposed instances

    • Allocs in gen #0 (or Allocs/sec in gen #0)
      Allocs in gen #1 (or Allocs/sec in gen #1)
      Allocs in gen #2 (or Allocs/sec in gen #2)
      Allocs in large heap (or Allocs/sec in large heap)

    • Unreachable instances

    • Unreachable bytes

    • Memory leak instances

    Each field corresponds to one of the columns presented under the Overview page.

    If the call stack has created any native resource instances, then the creation context is indicated with the corresponding symbol in the info panel as well. For more information, see Creation Context.

    The actual fields included in the info panel and the way they are presented depend on the selected field set and whether dispose and heap utilization tracking is enabled.

    In This Article
    Back to top

    © Copyright 2002-2020. SciTech Software AB.
    For information about .NET Memory Profiler, see the product site at https://memprofiler.com