dump-collect

Configure and collect crash dumps for CoreCLR and NativeAOT .NET applications.

1|Updated Jun 1, 2026
One-click install
npx skills add https://github.com/D1ssolve/craft-agents --skill dump-collect-d1ssolve
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: dump-collect
Source: https://github.com/D1ssolve/craft-agents/tree/main/skills/dump-collect
Command: npx skills add https://github.com/D1ssolve/craft-agents --skill dump-collect-d1ssolve

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? Capturing crash dumps from modern .NET applications requires knowing the right environment variables, OS settings, and container configurations for each runtime and platform. This Skill guides you through enabling automatic crash dumps or capturing dumps on demand for CoreCLR and NativeAOT apps on Linux, macOS, Windows, Docker, and Kubernetes. ## Core Features & Use Cases - Runtime Detection: Identify whether a binary or running process is CoreCLR or NativeAOT using strings, nm, dumpbin, or loaded modules. - Automatic Crash Dumps: Configure DOTNET_DbgEnableMiniDump environment variables, OS-level core dumps (ulimit, core_pattern, WER), or createdump for NativeAOT. - Container Support: Set up dump collection in Docker and Kubernetes with SYS_PTRACE capabilities, volume mounts, and pod specs. - Use Case: Your NativeAOT service keeps crashing in a Kubernetes pod. Use this Skill to add the SYS_PTRACE capability, mount a dumps volume, and configure ulimit so full core dumps are captured on the next crash. ## Quick Start Help me enable automatic crash dump collection for my CoreCLR application running in a Docker container.

Frequently Asked Questions about dump-collect

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I enable automatic crash dumps for a .NET application?

Set the DOTNET_DbgEnableMiniDump=1 environment variable along with DOTNET_DbgMiniDumpType and DOTNET_DbgMiniDumpName before launching the app. CoreCLR writes a dump automatically when the process crashes, and the output directory must exist beforehand.

How do I collect a dump from a running .NET process?

Use dotnet-dump collect -p <pid> for CoreCLR processes after installing the dotnet-dump tool. For NativeAOT processes, use gcore on Linux, lldb with process save-core on macOS, or procdump on Windows.

How do I tell if my app is CoreCLR or NativeAOT?

Check the binary with strings or nm: CoreCLR binaries contain CorExeMain while NativeAOT binaries contain Rhp symbols. For running Windows processes, CoreCLR loads coreclr.dll, which you can check via PowerShell process modules.

Does crash dump collection work in Docker and Kubernetes?

Yes, but the container needs the SYS_PTRACE capability and a writable mounted volume for dump output. Add cap_add SYS_PTRACE in Docker or the securityContext capabilities in Kubernetes pod specs, then configure the standard environment variables.

Can this skill analyze or debug the dump files it collects?

No, this skill only covers enabling and collecting dumps, not analysis. Post-mortem investigation with dotnet-dump analyze, lldb, or windbg is explicitly out of scope, as is .NET Framework process support.

Why is my NativeAOT crash dump not being created?

NativeAOT only supports full dumps, so DOTNET_DbgMiniDumpType must be 4, and createdump must sit next to the binary or be referenced via DOTNET_DbgCreateDumpToolPath on .NET 11+. Alternatively, use OS-level core dumps with ulimit -c unlimited and a configured core_pattern.