アプリケーションのバグを探すために、.NET Framework ソース コードをデバッグしています。1 つはバグを示し、もう 1 つは示さない、コードに対する 2 つの同様の入力があります。ただし、.NET ソースへのコード パスをたどるのは非常に複雑です。
私が望むのは、両方の入力に対して実行し、結果を比較して、どのコード パスが使用されているか、内部値がどのように異なるかなどを確認できるツールです...
これは .NET で利用できますか?
アプリケーションのバグを探すために、.NET Framework ソース コードをデバッグしています。1 つはバグを示し、もう 1 つは示さない、コードに対する 2 つの同様の入力があります。ただし、.NET ソースへのコード パスをたどるのは非常に複雑です。
私が望むのは、両方の入力に対して実行し、結果を比較して、どのコード パスが使用されているか、内部値がどのように異なるかなどを確認できるツールです...
これは .NET で利用できますか?
nCoverを試すことができます。バグが発生したときにどのブランチが取られるかを判断するのに役立つ可能性のあるコード カバレッジ情報を表示できます。
SD C#テストカバレッジツールは、テストケースを個別に実行した場合に実行されるコードを表示します。
また、要求された場合は、各ケースの対象コード間の差異も計算されます。この違いは、一方のテストが実行するコードと、もう一方のテストが実行しないコードになります。おそらくそれがあなたの問題です。
.NETFrameworkのソースを取得するのに役立ちません。
無料のEQATEC Tracerを試してみてください。探しているものとほとんど同じです。
アプリケーションに「トレースコード」を挿入します。これにより、実行時に実行されるメソッドとパラメーターが何であるかが正確にわかります。どのメソッドをトレースするかを微調整する洗練された方法があります。「すべて」というのは通常多すぎるためです。
ここで主な機能を見てみましょう: http://www.eqatec.com/tools/tracer/features
-ここから入手してください: http://www.eqatec.com/tools/tracer
編集: 申し訳ありませんが、実際の .NET フレームワーク コードを掘り下げなければならないという部分を見逃していました。トレーサーはそれを簡単に行うことはできません。
JetBrains DotTraceを試して、タイミングを無視することができます。30 日間の無料試用版ダウンロードを提供しています。
Mitch が示唆するように、プロファイラー (おそらくANTS ) を調べてください。すべてのメソッド呼び出しが表示されるので、進行中のすべてを確認できます。
プロファイラーを使用してみてください。
EqaTec (無料)
ANTS パフォーマンス プロファイラー(14 日間トライアル)
dotTrace (10 日間トライアル)
Enterprise バージョンの Visual Studio 2008 (またはその他のバージョン) を使用している場合