用途:为现代 .NET 应用(CoreCLR 与 NativeAOT)在 Linux、macOS、Windows 以及容器(Docker/Kubernetes)环境中配置自动崩溃转储,或从正在运行的进程即时捕获转储。仅负责启用与收集,不打开、分析或定位转储文件,也不修改应用代码,配置仅限环境层面(环境变量、操作系统设置、容器配置)。
主要能力:
- 判断场景:目标是启用自动崩溃转储,还是立即从运行中的进程抓取转储。
- 识别平台与运行时:区分 CoreCLR 与 NativeAOT;若为 .NET Framework(clr.dll)或无法识别,则停止,不在适用范围内。
- 按场景加载参考文档:CoreCLR 用 references/coreclr-dumps.md,NativeAOT 用 references/nativeaot-dumps.md,容器场景另加 references/container-dumps.md。
识别运行时示例:Linux/macOS 下 strings <binary> | grep -q "CorExeMain" 判为 CoreCLR,strings <binary> | grep -q "Rhp" 或 nm <binary> | grep -qi "Rhp" 判为 NativeAOT;Windows 下可用 dumpbin /clrheader 或 dumpbin /symbols 判断;运行中进程可用 readlink /proc/<pid>/exe、ps -o comm= -p <pid> 或 Get-Process Modules 检查 coreclr.dll。
使用方式:确认转储输出目录存在且可写;按参考文档配置或收集;成功后向用户报告转储文件路径;用 echo 环境变量或回读系统设置验证配置生效。仅安装收集工具 dotnet-dump collect,不安装分析工具(如 dotnet-dump analyze、windbg);macOS 允许用 lldb 按需抓取。若临时启用自动转储,提醒用户移除或取消 DOTNET_DbgEnableMiniDump 及相关环境变量,避免转储堆积。
限制:转储分析不在范围内;不追踪崩溃根因。原文未提供具体平台配置细节、收费信息或平台支持范围之外的内容。