3

C# アプリケーションのコード実行を追跡するにはどうすればよいですか? 利用可能なツールはありますか?本番サイトに問題があります。

4

7 に答える 7

9

Visual Studio にはdebuggerと呼ばれる組み込みツールがあります。

コードにブレークポイントを設定し、ステップスルーします。

.NET フレームワークは、 System.Diagnostics名前空間でトレースクラスも提供します。

トレース用のコードをサポートしていない実行中のアプリケーションの場合、プロファイラー (redgate ANTZ プロファイラーや JetBrains dotTrace など) を使用できる場合がありますが、これはパフォーマンスに影響します。

メモリ ダンプ (クラッシュまたは手動で誘発されたもの) がある場合は、windbgを使用してダンプを分析できます。これにはトレース情報が含まれます。

于 2010-01-28T12:02:01.720 に答える
4

優れたJetBrains dotTraceもあります。

于 2010-01-28T12:04:02.670 に答える
1

コードで、デバッグ情報 (たとえば、「方法 1 で」) をログ ファイルに書き込むことができますか?

log4netPostSharpなどのツールが役立つ場合があります。

于 2010-01-28T12:01:12.830 に答える
1

外部ログ ライブラリ ( Log4Netなど) を使用することも、Visual Studio の機能を使用してリモート デバッグを実行し、コード内にステップ インすることもできます。

于 2010-01-28T12:01:48.913 に答える
0

Visual Studio には優れたデバッグ ツールがありますが、それだけでは不十分であることが判明した場合は、コード ブランチの分析に役立つ静的コード分析ツールから始めることができます。

于 2010-01-28T12:43:36.323 に答える
0

Visual Studio 2005 以降では、F5 ではなく F11 を押してアプリケーションを実行します。

または、ブレークポイントを挿入することもできます (VS に赤い点が表示されるように、ブレークしたい行の左側をクリックします)。

于 2010-01-28T12:08:47.463 に答える
0

本番環境の問題をトレースするには、ETW トレースが最適なオプションです。特に ASP.NET には、パフォーマンスの問題を特定するのに役立つ組み込みプロバイダーがあります。

また、Window2008 を使用している場合は、ETW トレースでコール スタックが得られます。IIS、 FileSystem 、 Registry 、 Threading 、および可能なすべてからの ETW トレースがあります。ここにこれに関するMSDNの記事があり、管理されたコールスタックを取得するには、いくつかの投稿があります

于 2010-04-07T00:47:47.807 に答える