.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 脚本,你可以使用它结合 perf
和 LTTng
收集跟踪数据,从而更深入地分析运行在 Linux 发行版上的 .NET 应用程序。