.NET Core で使用できる診断ツールWhat diagnostic tools are available in .NET Core?

ソフトウェアは期待どおりに動作するとは限りませんが、.NET Core には、そのような問題を迅速かつ効果的に診断するために役立つツールと API が用意されています。Software doesn't always behave as you would expect, but .NET Core has tools and APIs that will help you diagnose these issues quickly and effectively.

この記事は、必要な各種ツールを見つけるために役立ちます。This article helps you find the various tools you need.

マネージド デバッガーManaged debuggers

マネージド デバッガーを使用すると、プログラムと対話することができます。Managed debuggers allow you to interact with your program. 一時停止、段階的な実行、調査、および再開によって、コードの動作を分析できます。Pausing, incrementally executing, examining, and resuming gives you insight into the behavior of your code. デバッガーは、簡単に再現できる機能の問題を診断するための最初の選択肢です。A debugger is the first choice for diagnosing functional problems that can be easily reproduced.

ログとトレースLogging and tracing

ログとトレースは、関連する手法です。Logging and tracing are related techniques. ログ ファイルを作成するためのコードのインストルメント化を指します。They refer to instrumenting code to create log files. ファイルには、プログラムの機能の詳細が記録されます。The files record the details of what a program does. これらの詳細は、複雑度の高い問題を診断するために使用できます。These details can be used to diagnose the most complex problems. タイム スタンプと組み合わせると、これらの手法はパフォーマンスの調査にも役立ちます。When combined with time stamps, these techniques are also valuable in performance investigations.

単体テストUnit testing

単体テストは、高品質のソフトウェアを継続的に統合して展開するための重要なコンポーネントです。Unit testing is a key component of continuous integration and deployment of high-quality software. 単体テストは、何かを中断するときに早期警告を提供するように設計されています。Unit tests are designed to give you an early warning when you break something.

.NET Core dotnet 診断グローバル ツール.NET Core dotnet diagnostic Global Tools


dotnet-カウンターは、第 1 レベルの正常性監視とパフォーマンス調査のためのパフォーマンス監視ツールです。dotnet-counters is a performance monitoring tool for first-level health monitoring and performance investigation. EventCounter API を使用して公開されたパフォーマンス カウンターの値を監視します。It observes performance counter values published via the EventCounter API. たとえば、CPU 使用率や、.NET Core アプリケーションでスローされる例外の発生率などをすばやく監視できます。For example, you can quickly monitor things like the CPU usage or the rate of exceptions being thrown in your .NET Core application.


dotnet-ダンプ ツールは、ネイティブ デバッガーを使用せずに Windows と Linux のコア ダンプを収集して分析する方法です。The dotnet-dump tool is a way to collect and analyze Windows and Linux core dumps without a native debugger.


.NET Core には、診断データが公開される EventPipe と呼ばれるものが含まれています。.NET Core includes what is called the EventPipe through which diagnostics data is exposed. dotnet-トレース ツールを使用すると、アプリから興味深いプロファイル データを使用できます。これは、アプリケーションの実行速度が低下する可能性のあるシナリオに役立ちます。The dotnet-trace tool allows you to consume interesting profiling data from your app that can help in scenarios where you need to root cause apps running slow.

.NET Core 診断チュートリアル.NET Core diagnostics tutorials

メモリ リークをデバッグするDebug a memory leak

チュートリアル: メモリ リークをデバッグするでは、メモリ リークを検出する手順について説明します。Tutorial: Debug a memory leak walks through finding a memory leak. リークを確認するには dotnet-counters ツールを使用し、リークを診断するには dotnet-dump ツールを使用します。The dotnet-counters tool is used to confirm the leak and the dotnet-dump tool is used to diagnose the leak.