.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 脚本,可用于收集包含 perfLTTng 的跟踪,以便更深入地分析在 Linux 分发版上运行的 .NET 应用的性能。