次の方法で共有


例外パフォーマンス カウンター

パフォーマンス コンソール .NET CLR Exceptions カテゴリには、アプリケーションによってスローされた例外に関する情報を提供するカウンターが含まれます。 これらのパフォーマンス カウンターについて、次の表で説明します。

パフォーマンス カウンター

説明

# of Exceps Thrown

アプリケーションの開始後にスローされた例外の総数を表示します。 この数には、.NET 例外と .NET 例外に変換されるアンマネージ例外の両方が含まれます。 たとえば、アンマネージ コードから返された HRESULT は、マネージ コードの例外に変換されます。

処理済みの例外と未処理の例外の両方がカウントされます。 再スローされる例外は、再びカウントされます。

# of Exceps Thrown / Sec

1 秒間にスローされた例外の数を表示します。 この数には、.NET 例外と .NET 例外に変換されるアンマネージ例外の両方が含まれます。 たとえば、アンマネージ コードから返された HRESULT は、マネージ コードの例外に変換されます。

処理済みの例外と未処理の例外の両方がカウントされます。 このカウンターは、全時間を通しての平均値ではなく、最後の 2 回の収集で計測された値の差を収集の間隔で割った値が表示されます。 多数 (数百) の例外がスローされた場合、このカウンターがパフォーマンス上問題があることを示します。

# of Filters / Sec

1 秒間に実行された .NET 例外フィルターの数を表示します。 例外フィルターは、例外が処理済みかどうかに関係なくカウントされます。

このカウンターは、全時間を通しての平均値ではなく、最後の 2 回の収集で計測された値の差を収集間隔で割った値が表示されます。

# of Finallys / Sec

1 秒間に実行された finally ブロックの数を表示します。 finally ブロックは、try ブロックがどのように終了されたかに関係なく必ず実行されます。 例外に対して実行された finally ブロックだけがカウントされます。通常のコード パスで実行された finally ブロックは、このカウンターではカウントされません。

このカウンターは、全時間を通しての平均値ではなく、最後の 2 回の収集で計測された値の差を収集間隔で割った値が表示されます。

Throw to Catch Depth / Sec

1 秒間に走査されたスタック フレーム (例外をスローしたフレームから例外を処理したフレームまで) の数を表示します。 このカウンターは、例外ハンドラーに入ったときに 0 にリセットされます。したがって、入れ子になった例外ではハンドラーからハンドラーへのスタックの深さを示します。

このカウンターは、全時間を通しての平均値ではなく、最後の 2 回の収集で計測された値の差を収集間隔で割った値が表示されます。

参照

参照

ランタイム プロファイリング

その他の技術情報

.NET Framework のパフォーマンス カウンター

例外の処理とスロー