.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 观察已发布的性能计数器值。 例如,您可以快速监控您的 .NET Core 应用程序中 CPU 的使用率或抛出异常的速率等内容。

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 调试器扩展

dotnet-debugger-extensions 在 Linux、macOS 和 Windows 上安装 .NET 调试器扩展。 Linux 和 macOS 需要 LLDB,并且 Windows 需要 Windbg/cdb

其他工具

PerfCollect

PerfCollect 是一个 bash 脚本,你可以使用它结合 perfLTTng 收集跟踪数据,从而更深入地分析运行在 Linux 发行版上的 .NET 应用程序。