MAUI崩溃日志处理核心是捕获未处理异常+本地持久化+启动时自动上传:全局捕获UI/后台/平台异常,存储含时间、设备、系统、页面状态及堆栈的JSON日志,启动OnStart时非阻塞上传并清理。
MAUI应用崩溃日志的处理和上报,核心在于捕获未处理异常 + 本地持久化 + 启动时自动上传。它不是“出错了才上报”,而是构建一套轻量、可靠、跨平台的日志兜底链路。
这是第一道防线,覆盖UI线程、后台任务、平台原生回调抛出的所有托管异常:
AppDomain.CurrentDomain.UnhandledException和TaskScheduler.UnobservedTaskException
UIApplication.DidReceiveMemoryWarning、Android的Application.Error事件FileSystem.AppDataDirectory),避免内存中丢失崩溃发生时,不能只存堆栈——要包含可复现的关键上下文:
crash_20251215_120345.json,便于排序与清理崩溃日志不能等用户手动触发——MAUI应用在OnStart()阶段就应检查并上传残留日志:
OnStart方法中扫描AppDataDirectory下的.crash或.json临时日志文件HttpClient以非阻塞方式POST到你自己的日志服务(或兼容的第三方如Sentry、Azure Monitor)OnSleep中上传;Android可考虑WorkManager补充,但MAUI标准做法是“启动即报”Visual Studio App Center诊断功能虽延续至2026年6月,但已不推荐新项目接入。更轻量可控的选择:

Debugger.IsAttached == false时才启用崩溃收集,避免开发环境干扰基本上就这些。关键不在工具多炫,而在于每一步都默认考虑跨平台差异、生命周期约束和用户无感——崩溃发生了,日志得留下;用户打开了,日志得发走。