您的位置:首页 > 软件教程 > 教程 > WinDbg异常分析实例:Avalonia框架崩溃问题

WinDbg异常分析实例:Avalonia框架崩溃问题

来源:好特整理 | 时间:2024-08-09 09:54:35 | 阅读:139 |  标签: a T VA Net BG 崩溃 AVA 异常 v in 环境 AV   | 分享到:

一:背景 1. 讲故事 前些天有位朋友找到我,说他们的程序崩溃了,也自己分析了下初步结果,让我帮忙再确认下,既然让我确认,那就开始dump分析之旅吧。 二:WinDbg 分析 1. 为什么会崩溃 windbg 有一个强大之处就是带有一个自动化的分析命令 !analyze -v 可以帮助我们快速的分析

前几天,一位朋友找到我,向我求助。他们的程序崩溃了,经过初步分析,他怀疑是Avalonia框架的问题。于是我决定使用WinDbg进行dump分析来确认崩溃的原因。

一:背景

这是一个关于WinDbg分析的故事。

1. 讲故事

朋友发现他们的程序崩溃了,经过初步分析,怀疑是Avalonia框架的问题,于是找到我帮忙确认。

二:WinDbg 分析

1. 为什么会崩溃

通过使用WinDbg的命令 !analyze -v 进行分析,得到异常码 ,表明是遇到用户回调时未处理的异常。但其中还隐藏了真实的异常码。

2. 真实的异常码在哪里

通过查看异常上下文,定位到RaiseException的父函数,并从异常信息全局变量 g_SavedExceptionInfo 中获得真实的异常码 ,即表示访问违例。

3. 什么逻辑导致的崩溃

根据汇编代码分析,崩溃是由Avalonia框架的 RequestCompositionBatchCommitAsync 返回null引起的。进一步搜索代码,发现这是Avalonia的一个bug。

WinDbg异常分析实例:Avalonia框架崩溃问题

在类中找到会设置null的方法,确认了这是Avalonia框架的问题。而该版本是非常新的11.1.0.0版本。

WinDbg异常分析实例:Avalonia框架崩溃问题

4. 如何解决呢

鉴于是Avalonia框架的问题,并且该版本非常新,只能向Avalonia的官方提交issue,解决该bug。

三:总结

这次的生产事故分析让我对Avalonia框架有了更深入的了解。对Avalonia是否开始替代WPF在工控行业中的应用也产生了好奇。但就目前来看,稳定性方面与WPF相比还有一定差距。期待Avalonia未来能发布更加稳定的版本。

WinDbg异常分析实例:Avalonia框架崩溃问题 小编推荐阅读

好特网发布此文仅为传递信息,不代表好特网认同期限观点或证实其描述。

a 1.0
a 1.0
类型:休闲益智  运营状态:正式运营  语言:中文   

游戏攻略

游戏礼包

游戏视频

游戏下载

游戏活动

《alittletotheleft》官网正版是一款备受欢迎的休闲益智整理游戏。玩家的任务是对日常生活中的各种杂乱物
崩溃 1.0.0
崩溃 1.0.0
类型:休闲益智  运营状态:正式运营  语言:中文   

游戏攻略

游戏礼包

游戏视频

游戏下载

游戏活动

《崩溃》是APPTUTTi开发的一款拥有像素风格的休闲游戏,你在大陆中要不断的前进,因为你身后的世界会不停

相关视频攻略

更多

扫二维码进入好特网手机版本!

扫二维码进入好特网微信公众号!

本站所有软件,都由网友上传,如有侵犯你的版权,请发邮件[email protected]

湘ICP备2022002427号-10 湘公网安备:43070202000427号© 2013~2024 haote.com 好特网