您的位置:首頁(yè) > 軟件教程 > 教程 > WinDbg異常分析實(shí)例:Avalonia框架崩潰問題

WinDbg異常分析實(shí)例:Avalonia框架崩潰問題

來源:好特整理 | 時(shí)間:2024-08-09 09:54:35 | 閱讀:97 |  標(biāo)簽: a T VA Net BG 崩潰 AVA 異常 v in 環(huán)境 AV   | 分享到:

一:背景 1. 講故事 前些天有位朋友找到我,說他們的程序崩潰了,也自己分析了下初步結(jié)果,讓我?guī)兔υ俅_認(rèn)下,既然讓我確認(rèn),那就開始dump分析之旅吧。 二:WinDbg 分析 1. 為什么會(huì)崩潰 windbg 有一個(gè)強(qiáng)大之處就是帶有一個(gè)自動(dòng)化的分析命令 !analyze -v 可以幫助我們快速的分析

前幾天,一位朋友找到我,向我求助。他們的程序崩潰了,經(jīng)過初步分析,他懷疑是Avalonia框架的問題。于是我決定使用WinDbg進(jìn)行dump分析來確認(rèn)崩潰的原因。

一:背景

這是一個(gè)關(guān)于WinDbg分析的故事。

1. 講故事

朋友發(fā)現(xiàn)他們的程序崩潰了,經(jīng)過初步分析,懷疑是Avalonia框架的問題,于是找到我?guī)兔Υ_認(rèn)。

二:WinDbg 分析

1. 為什么會(huì)崩潰

通過使用WinDbg的命令 !analyze -v 進(jìn)行分析,得到異常碼 ,表明是遇到用戶回調(diào)時(shí)未處理的異常。但其中還隱藏了真實(shí)的異常碼。

2. 真實(shí)的異常碼在哪里

通過查看異常上下文,定位到RaiseException的父函數(shù),并從異常信息全局變量 g_SavedExceptionInfo 中獲得真實(shí)的異常碼 ,即表示訪問違例。

3. 什么邏輯導(dǎo)致的崩潰

根據(jù)匯編代碼分析,崩潰是由Avalonia框架的 RequestCompositionBatchCommitAsync 返回null引起的。進(jìn)一步搜索代碼,發(fā)現(xiàn)這是Avalonia的一個(gè)bug。

WinDbg異常分析實(shí)例:Avalonia框架崩潰問題

在類中找到會(huì)設(shè)置null的方法,確認(rèn)了這是Avalonia框架的問題。而該版本是非常新的11.1.0.0版本。

WinDbg異常分析實(shí)例:Avalonia框架崩潰問題

4. 如何解決呢

鑒于是Avalonia框架的問題,并且該版本非常新,只能向Avalonia的官方提交issue,解決該bug。

三:總結(jié)

這次的生產(chǎn)事故分析讓我對(duì)Avalonia框架有了更深入的了解。對(duì)Avalonia是否開始替代WPF在工控行業(yè)中的應(yīng)用也產(chǎn)生了好奇。但就目前來看,穩(wěn)定性方面與WPF相比還有一定差距。期待Avalonia未來能發(fā)布更加穩(wěn)定的版本。

WinDbg異常分析實(shí)例:Avalonia框架崩潰問題 小編推薦閱讀

好特網(wǎng)發(fā)布此文僅為傳遞信息,不代表好特網(wǎng)認(rèn)同期限觀點(diǎn)或證實(shí)其描述。

a 1.0
a 1.0
類型:休閑益智  運(yùn)營(yíng)狀態(tài):正式運(yùn)營(yíng)  語(yǔ)言:中文   

游戲攻略

游戲禮包

游戲視頻

游戲下載

游戲活動(dòng)

《alittletotheleft》官網(wǎng)正版是一款備受歡迎的休閑益智整理游戲。玩家的任務(wù)是對(duì)日常生活中的各種雜亂物
崩潰 1.0.0
崩潰 1.0.0
類型:休閑益智  運(yùn)營(yíng)狀態(tài):正式運(yùn)營(yíng)  語(yǔ)言:中文   

游戲攻略

游戲禮包

游戲視頻

游戲下載

游戲活動(dòng)

《崩潰》是APPTUTTi開發(fā)的一款擁有像素風(fēng)格的休閑游戲,你在大陸中要不斷的前進(jìn),因?yàn)槟闵砗蟮氖澜鐣?huì)不停

相關(guān)視頻攻略

更多

掃二維碼進(jìn)入好特網(wǎng)手機(jī)版本!

掃二維碼進(jìn)入好特網(wǎng)微信公眾號(hào)!

本站所有軟件,都由網(wǎng)友上傳,如有侵犯你的版權(quán),請(qǐng)發(fā)郵件[email protected]

湘ICP備2022002427號(hào)-10 湘公網(wǎng)安備:43070202000427號(hào)© 2013~2024 haote.com 好特網(wǎng)