原文:

https://docs.microsoft.com/zh-cn/dotnet/core/diagnostics/

 

软件并非始终按预计方式运行,但 .NET Core 具有可帮助用户快速有效地诊断这些问题的工具和 API。

本文可帮助用户查找各种所需的工具。

托管调试器

调试器是诊断易于重现的功能问题的首选。

 

日志记录和跟踪

当与时间戳结合使用时,这些技术在性能调查中也非常有用。

 

指标

已知 EventCounters,你也可以对其进行监视。

 

单元测试

单元测试的目的在于,在用户操作导致系统出现问题时提前向其发出警告。

 

转储

它们可用于检查应用程序的状态,以便进行调试。

 

符号

.NET 可移植符号具有类似于 Windows PDB 的“PDB”文件扩展名,但并不与 Windows PDB 格式兼容。

 

收集容器中的诊断

只需进行几次使用更改就可使这些工具在 Docker 容器中运行。

 

 

.NET Core 诊断全局工具

dotnet-counters

例如,可以【快速监视 CPU 使用情况或 .NET Core 应用程序中的异常率等指标】。

dotnet-dump

dotnet-dump 工具,可在【不使用本机调试】器的情况下【收集和分析 Windows 和 Linux 核心转储】。

dotnet-gcdump

dotnet-gcdump 工具可用于为【活动 .NET 进程收集 GC(垃圾回收器)转储】。

dotnet-trace

dotnet-trace 工具,可以使用来自【应用的有意思的分析数据】,这些数据可帮助你【分析应用运行缓慢的根本原因】。

dotnet-symbol

如果需要【使用符号和模块来调试】在其他计算机上捕获的转储文件,请使用此工具。

dotnet-sos

SOS调试扩展。

PerfCollect

PerfCollect 是一个 bash 脚本,可用于【收集包含 perf 和 LTTng 的跟踪】,以便更深入地分析【在 Linux 分发版上运行的 .NET 应用的性能】。

.NET Core 诊断教程

调试内存泄露

dotnet-dump 工具用于【诊断泄露】。

调试高 CPU 使用率

性能分析实用工具 (dotnet-trace) 跟踪或 Linux perf 来收集和查看 CPU 使用率配置文件】。

调试死锁

dotnet-dump 工具来【调查线程和锁】。

调试 StackOverflow

StackOverflowException】。

调试 Linux 转储

调试 Linux 转储说明了如何【收集和分析 Linux 上的转储】。

使用 EventCounters 衡量性能

EventCounter API 来【衡量 .NET 应用的性能】。

 

相关文章: