dotTrace 2017.2 Help

Folding Recursive Calls

Recursive call stacks can be deep and difficult to analyze. Thus, complex call stacks with multiple recursive calls require almost infinite stack scrolling. To simplify analysis of such call stacks, you can fold recursive calls. When a chain of recursive calls is folded, dotTrace recalculates this call tree (it summarizes call times of a particular method in all recursive subtrees) and presents information by method signatures.

Recursive calls are marked with the ico recursive icon.

Folded recursive calls are marked with the ico recursive collapse icon.

To fold a recursive call:

  1. Select a recursive function call in Call Tree.
  2. Click ico recursive to fold the function call.

To unfold a recursive call:

  1. Select a recursive function call in Call Tree.
  2. Click ico recursive collapse to unfold the function call.

Example

Consider an example for better understanding of how Timeline Viewer calculates calls time when recursive calls are folded.

folded recursive calls example

If in the example above you fold recursive calls starting from the call A UserMethod1, Call Tree will look like follows (each letter stands for a call own time).

ico recursive collapseUserMethod1 A + B + C + D + E + F + G + H + I
|UserMethod2 E + G
| |SystemMethod1 G
|SystemMethod1 C + H
|SystemMethod2 I

Last modified: 14 December 2017