.NET 诊断工具
.NET 支持许多可用于诊断应用程序的工具。
IDE 和编辑器
Visual Studio
Visual Studio 是适用于 Windows 的 .NET 开发人员的最全面 IDE。 它包括调试和性能分析工具,可帮助 .NET 开发人员诊断自己的应用程序。
Visual Studio Code
Visual Studio Code 是轻量级但功能强大的源代码编辑器,可在桌面上运行,适用于 Windows、macOS 和 Linux。 它支持 .NET 的本地和远程调试。
CLI 工具
dotnet-counters
dotnet-counters 是一个性能监视工具,用于初级运行状况监视和性能调查。 它通过 EventCounter API 观察已发布的性能计数器值。 例如,可以快速监视 CPU 使用情况或 .NET Core 应用程序中的异常率等指标。
dotnet-dump
通过 dotnet-dump 工具,可在不使用本机调试器的情况下收集和分析 Windows 和 Linux 核心转储。
dotnet-gcdump
dotnet-gcdump 工具可用于为活动 .NET 进程收集垃圾回收器 (GC) 转储。
dotnet-monitor
dotnet-monitor 工具是用于监视生产环境中的 .NET 应用程序以及按需收集诊断项目(例如转储、跟踪、日志和指标)或使用自动规则在指定条件下收集的方法。
dotnet-trace
.NET Core 包括 EventPipe
,用于公开诊断数据。 通过 dotnet-trace 工具,可以使用来自应用的有意思的分析数据,这些数据可帮助你分析应用运行缓慢的根本原因。
dotnet-stack
使用 dotnet-stack 工具可以快速打印正在运行的 .NET 进程中的所有线程的托管堆栈。
dotnet-symbol
dotnet-symbol 用于下载打开核心转储或小型转储所需的文件(例如符号、DAC/DBI 和主机文件等)。 如果需要使用符号和模块来调试在其他计算机上捕获的转储文件,请使用此工具。
dotnet-sos
dotnet-sos 在 Linux 和 macOS(如果使用的是 Windbg/cdb,则在 Windows 上)安装 SOS调试扩展。
其他工具
PerfCollect
PerfCollect 是一个 bash 脚本,可用于收集包含 perf
和 LTTng
的跟踪,以便更深入地分析在 Linux 分发版上运行的 .NET 应用的性能。