android-tombstone-symbolication

Symbolicate .NET runtime frames in Android tombstone files using llvm-symbolizer.

5.1k|377|Updated Feb 3, 2026
One-click install
npx skills add https://github.com/dotnet/skills --skill android-tombstone-symbolication
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: android-tombstone-symbolication
Source: https://github.com/dotnet/skills/tree/main/plugins/dotnet-diag/skills/android-tombstone-symbolication
Command: npx skills add https://github.com/dotnet/skills --skill android-tombstone-symbolication

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) and references (resource) components.

What problem does it solve?

This Skill helps developers diagnose and fix crashes in .NET applications running on Android by translating cryptic native crash logs into human-readable function names and source code locations.

Core Features & Use Cases

  • Symbolication: Resolves native backtrace frames from Android tombstone files to .NET runtime functions and source code lines.
  • BuildId Extraction: Automatically extracts BuildIds from crash logs to locate the correct debug symbols.
  • Use Case: When your .NET MAUI app crashes on an Android device and you see a tombstone file with native stack traces, use this Skill to pinpoint the exact .NET runtime function and source line that caused the crash, speeding up your debugging process.

Quick Start

Use the android-tombstone-symbolication skill to symbolicate the provided tombstone file.

Frequently Asked Questions about android-tombstone-symbolication

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

FAQPage Schema
How do I symbolicate an Android tombstone file for a .NET MAUI app crash?

To symbolicate an Android tombstone file, extract BuildIds and PC offsets from the native crash logs, download the matching debug symbols from Microsoft's symbol server, and use llvm-symbolizer to map the native frames to .NET runtime source code locations.

What does it mean when my .NET MAUI app crashes with a native stack trace in libmonosgen-2.0.so?

A native stack trace in libmonosgen-2.0.so indicates a crash originating from the .NET runtime on Android. Symbolication maps these cryptic native addresses back to the specific .NET runtime functions and source code lines that caused the failure.

Can I resolve native crash backtraces from libcoreclr.so on Android to .NET source code?

Yes, you can resolve native backtraces from libcoreclr.so by extracting the BuildId from the crash log, fetching the corresponding debug symbols, and utilizing llvm-symbolizer to pinpoint the exact .NET runtime function and source line.

Do I need to manually download debug symbols from the Microsoft symbol server to debug a Mono Android tombstone?

No, manual downloading is unnecessary. The symbolication process automatically extracts BuildIds from the Android tombstone file to locate and download the corresponding debug symbols from Microsoft's symbol server for native frame resolution.

Why are the native frames in my Android tombstone file showing unresolved memory addresses instead of function names?

Unresolved memory addresses appear because the tombstone lacks debug symbols. You must symbolicate the crash log by matching the extracted BuildIds with debug symbols to translate the native PC offsets into human-readable function names and source locations.