apple-crash-symbolication
自动定位 dSYM 并使用 atos 还原堆栈,便于 MAUI 崩溃排查。
会下载 dSYM 并调用 atos 等本地符号工具,需联网与本地工具支持。
将 Apple 平台 .ips 崩溃日志中的 .NET 帧符号化为函数和源码行号。
把 Apple 平台的 .ips 崩溃日志里与 .NET 运行时相关的本机帧符号化,最终给出函数名、源码文件和行号。适合排查 .NET MAUI 或 Mono 应用在 iOS/tvOS/macOS 上的 EXC_CRASH、SIGABRT、SIGSEGV 等崩溃问题。特点是会定位 Mach-O UUID、下载 dSYM/.dwarf 符号并用 atos 转换,能从原始崩溃栈还原到可读源码位置。
▸ 展开 SKILL.md 英文原文
Symbolicate .NET runtime frames in Apple platform .ips crash logs (iOS, tvOS, Mac Catalyst, macOS). Extracts UUIDs and addresses from the native backtrace, locates dSYM debug symbols, and runs atos to produce function names with source file and line numbers. Automatically downloads .dwarf symbols from the Microsoft symbol server using Mach-O UUIDs. USE FOR triaging a .NET MAUI or Mono app crash from an .ips file on any Apple platform, resolving native backtrace frames in libcoreclr or libmonosgen-2.0 to .NET runtime source code, retrieving .ips crash logs from a connected iOS device or iPhone, or investigating EXC_CRASH, EXC_BAD_ACCESS, SIGABRT, or SIGSEGV originating from the .NET runtime. DO NOT USE FOR pure Swift/Objective-C crashes with no .NET components, or Android tombstone files. INVOKES Symbolicate-Crash.ps1 script, atos, dwarfdump, idevicecrashreport.
帮我安装这个 skill:https://raw.githubusercontent.com/dotnet/skills/main/plugins/dotnet-diag/skills/apple-crash-symbolication/SKILL.mdcurl -fsSL "https://raw.githubusercontent.com/dotnet/skills/main/plugins/dotnet-diag/skills/apple-crash-symbolication/SKILL.md"# Apple Platform Crash Log .NET Symbolication Resolves native backtrace frames from .NET MAUI and Mono app crashes on Apple platforms (iOS, tvOS, Mac Catalyst, macOS) to function names, source files, and line numbers using Mach-O UUIDs and dSYM debug symbol bundles. **Inputs:** Crash log file (`.ips` JSON format, iOS 15+ / macOS 12+), `atos` (from Xcode), optionally a connected iOS device to pull crash logs from. **Do not use when:** The crashing library is not a .NET component (e.g., pure Swift/UIKit), or the crash log is an Android tombstone. --- ## Workflow ### Step 1: Parse the .ips Crash Log **Format check:** Before proceeding, verify the file is `.ips` JSON format. The first lin