dotTrace 2026.1 Help

フォールドコール

呼び出しツリー は、無意味な呼び出しのグループを解析の対象にすることで簡素化できます。 つまり、システム関数呼び出しと再帰呼び出しのチェーンです。

システムコールを折りたたむ

システムコールは非ユーザーコードの呼び出しであり、例えば、 System 名前空間や Microsoft 名前空間のメソッドの呼び出しなどが該当します。 通常、これらの呼び出しはフィルターで除外され、 呼び出しツリー に灰色のフォントで表示されます。 折りたたむを使ってシステムコールのチェーンを非表示にします:

  • 折りたたむことができるシステムコールチェーンは、 Unfolded chain アイコンでマークされています。

  • 折りたたまれたコールチェーンは、 Folded chain アイコンでマークされます。

  • ユーザーアセンブリをシステムアセンブリとしてマークできることに注意してください。

システムコールのチェーンを折りたたむには

  1. システムコールを含む希望のコールチェーンを選択します。

  2. Unfolded chain をクリックするか、 Ctrl+Space​​ を押して呼び出しを折りたたみます。

システムコールのチェーンを展開するには

  1. システムコールを含む希望のコールチェーンを選択します。

  2. Folded chain をクリックするか、 Ctrl+Space​​ を押してコールを展開します。

サンプル例

コールツリーの例

たとえば、上記の例で、すべてのシステムコールを折りたたむ必要があるように折りたたみを設定した場合、 呼び出しツリー は次のようになります。

UserMethod1
| UserMethod2
| | SystemMethod2
| Folded chain SystemMethod1
| UserMethod1
| UserMethod2
| SystemMethod1

再帰呼び出しをフォールドする

再帰呼び出しスタックは深く、分析が難しい場合があります。 複数の再帰呼び出しを含む複雑な呼び出しスタックでは、ほぼ無限のスタックスクロールが必要になります。 このようなコールスタックの分析を簡素化するために、再帰呼び出しを折りたたむことができます。 再帰呼び出しのチェーンが折りたたまれると、dotTrace はこの呼び出しツリーを再計算し(すべての再帰サブツリーで特定のメソッドの呼び出し時間を要約します)、メソッドシグネチャーごとに情報を表示します:

  • 再帰呼び出しには、 Recursive calls アイコンが表示されます。

  • 折りたたまれた再帰呼び出しには Recursive calls アイコンが表示されます。

再帰呼び出しを折りたたむには

  1. 呼び出しツリー で再帰関数呼び出しを選択します。

  2. 関数呼び出しを折りたたむには、 Recursive calls をクリックします。

再帰呼び出しを展開するには

  1. 呼び出しツリー で再帰関数呼び出しを選択します。

  2. 関数呼び出しを展開するには、 Recursive calls をクリックします。

サンプル例

再帰呼び出しが折りたたまれたときに dotTrace Viewer が呼び出し時間を計算する方法をよりよく理解するために、例を考えてみましょう。

コールツリーの例

上記の例で AUserMethod1 という呼び出しから始まる再帰呼び出しを折りたたむと、 呼び出しツリー は次のようになります(各文字はそれぞれの呼び出しを表す)。

Recursive calls UserMethod1 A + B + C + D + E + F + G + H + I
| UserMethod2 E + G
| | SystemMethod1 G
| SystemMethod1 C + H
| SystemMethod2 I

2026 年 6 月 12 日