谷歌瀏覽器問(wèn)題事件BEX引起的閃退崩潰異常的修復(fù)與思考
前言
最近,我們部門負(fù)責(zé)項(xiàng)目運(yùn)維的小王頻頻接到甲方的反饋,運(yùn)行的項(xiàng)目使用谷歌瀏覽器登錄后,每次點(diǎn)擊處理2秒后,瀏覽器自動(dòng)閃退崩潰.小王同學(xué)折騰了一個(gè)星期,還沒(méi)找到問(wèn)題的原因.甲方客戶都把問(wèn)題反饋給項(xiàng)目經(jīng)理了.項(xiàng)目經(jīng)理給小王撂下狠話,“明天客戶再給我打電話,你以后再也沒(méi)機(jī)會(huì)穿拖鞋上班了…”
小王擾了擾頭上剩在中間的頭發(fā),一臉委屈的看向我,無(wú)奈中透著一點(diǎn)深情
“Chova大哥哥,你來(lái)幫我看看嘛~以后晚上陪你一起健身!”
看著他期待的目光,我心目不免一緊,哆哆嗦嗦地打開(kāi)了他電腦上的谷歌瀏覽器…
問(wèn)題一:問(wèn)題事件BEX瀏覽器停止工作
點(diǎn)擊項(xiàng)目中問(wèn)題處置頁(yè)面跳轉(zhuǎn)后,光標(biāo)出現(xiàn)轉(zhuǎn)圈 ,2秒后彈框提示Google Chrome已停止工作
原因
軟件中dll文件和瀏覽器發(fā)生沖突
解決
刪除造成沖突的dll文件
點(diǎn)擊查看問(wèn)題詳細(xì)信息,查看瀏覽器崩潰的問(wèn)題簽名
問(wèn)題簽名: 問(wèn)題事件名稱: BEX 應(yīng)用程序名: chrome.exe 應(yīng)用程序版本: 69.0.3497.100 應(yīng)用程序時(shí)間戳: 5b9cbd4f 故障模塊名稱: BrowserUrl.dll 故障模塊版本: 0.0.0.0 故障模塊時(shí)間戳: 5f4b9830 異常偏移: 00004138 異常代碼: c0000409 異常數(shù)據(jù): 00000000 OS 版本: 6.1.7601.2.1.0.256.48 區(qū)域設(shè)置 ID: 2052 其他信息 1: 031a 其他信息 2: 031ac9a5aca2c7bab1c2347d68169e05 其他信息 3: e951 其他信息 4: e951aede12191034f862a087b85a801a
問(wèn)題簽名中的故障模塊名稱就是造成瀏覽器崩潰的dll文件
通過(guò)在瀏覽器導(dǎo)航欄中輸入以下路徑查看加載的dll文件位置:
chrome://conflicts/
將原來(lái)的dll備份到其余文件夾,用于后續(xù)恢復(fù)
在軟件文件夾中刪除軟件中造成沖突的dll文件
修復(fù)造成沖突的軟件
刪除造成沖突的dll文件只是暫時(shí)解決瀏覽器停止工作的問(wèn)題
因?yàn)閐ll文件時(shí)軟件的運(yùn)行依賴,如果隨便刪除會(huì)導(dǎo)致軟件本身運(yùn)行異常
如果想要徹底解決BEX問(wèn)題事件,需要修復(fù)造成沖突的軟件,大部分是軟件本身存在問(wèn)題,建議下載官方軟件
問(wèn)題二:谷歌瀏覽器閃退
點(diǎn)擊項(xiàng)目中問(wèn)題處置頁(yè)面跳轉(zhuǎn)后,光標(biāo)出現(xiàn)轉(zhuǎn)圈 ,2秒后瀏覽器閃退消失
項(xiàng)目部署在同一個(gè)服務(wù)器上,使用不同的計(jì)算機(jī)進(jìn)行測(cè)試,問(wèn)題只是在部分計(jì)算機(jī)中出現(xiàn)
原因
由于問(wèn)題僅在部分電腦上出現(xiàn),初步判定不是項(xiàng)目的問(wèn)題,從系統(tǒng)方向排查問(wèn)題
對(duì)無(wú)問(wèn)題計(jì)算機(jī)和問(wèn)題計(jì)算機(jī),初步判定為問(wèn)題計(jì)算機(jī)中的安全策略配置導(dǎo)致瀏覽器訪問(wèn)發(fā)生閃退崩潰的問(wèn)題
解決
刪除安全策略
進(jìn)入控制面板點(diǎn)擊用戶賬戶查看當(dāng)前用戶為是否為管理員賬戶
進(jìn)入C盤修改策略文件彈出框提示需要管理員權(quán)限
打開(kāi)運(yùn)行輸入gpedit.msc打開(kāi)本地策略組
進(jìn)入到本地策略組中的用戶賬戶控制以管理員批準(zhǔn)模式控制其余賬戶
禁用用戶賬戶控制, 重啟計(jì)算機(jī)
開(kāi)機(jī)后進(jìn)入C盤直接刪除操作文件
增加用戶權(quán)限
在系統(tǒng)中的賬戶中查看當(dāng)前用戶賬戶
點(diǎn)擊此電腦,選擇屬性中的安全選項(xiàng)卡,選中高級(jí)
更改當(dāng)前用戶賬戶為所有者并替換子容器和對(duì)象的所有者
在權(quán)限中添加當(dāng)前用戶賬戶的完全控制權(quán)限并繼承
問(wèn)題三:錯(cuò)誤碼STATUS_INVALID_IMAGE_HASH瀏覽器崩潰
谷歌瀏覽器崩潰,錯(cuò)誤碼為STATUS_INVALID_IMAGE_HASH
谷歌瀏覽器插件報(bào)錯(cuò),并彈出錯(cuò)誤提示框
原因
Google Chrome在79版本中重新啟用了渲染器代碼完整性保護(hù)Renderer Code Integrity Protection. 這個(gè)會(huì)導(dǎo)致簽名不是谷歌或者微軟的模塊被阻止加載
解決
禁用渲染器代碼完整性保護(hù)功能
通過(guò)文件禁用渲染器代碼完整性保護(hù)功能 (推薦) :
- 打開(kāi)運(yùn)行輸入regedit進(jìn)入注冊(cè)表編輯器
- 進(jìn)入文件夾 HKEY_LOCAL_MACHINE \ SOFTWARE \ Policies \ Google \ Chrome 中
- 在右側(cè)的窗口中,右鍵單擊新建, 選擇DWORD(32位)值創(chuàng)建新的密鑰
- 雙擊新建的密鑰,將值名稱修改為RendererCodeIntegrityEnabled, 并將值數(shù)據(jù)輸入為0
- 重啟谷歌瀏覽器
使用命令禁用渲染器代碼完整性保護(hù)功能:
- 打開(kāi)運(yùn)行,輸入以下命令可以禁用渲染器代碼完整性保護(hù)功能,其余功能禁用方式類似
shell ? chrome.exe --disable-features=RendererCodeIntegrity
總結(jié)
Windows檢查事件日志
右鍵開(kāi)始圖標(biāo),打開(kāi)事件查看器
點(diǎn)擊應(yīng)用程序和服務(wù), 進(jìn)入Microsoft => Windows => CodeIntegrity => 可操作
查找問(wèn)題事件ID為3033的事件
點(diǎn)擊問(wèn)題事件的詳細(xì)信息,會(huì)顯示導(dǎo)致瀏覽器崩潰的dll文件的名稱和位置
Google Chrome顯示模塊加載列表
在導(dǎo)航欄輸入以下路徑,可以顯示加載的各個(gè)模塊的信息:
chrome://conflicts/
一點(diǎn)思考
這個(gè)BUG是我目前修復(fù)的千千萬(wàn)萬(wàn)個(gè)項(xiàng)目的BUG中印象最深的一次BUG,由于問(wèn)題事件BEX引發(fā)的谷歌瀏覽器閃退崩潰的異常問(wèn)題.這個(gè)BUG因?yàn)槠洳豢蓮?fù)現(xiàn)性導(dǎo)致特別難以發(fā)現(xiàn)和解決,正是由于這一次的BUG解決過(guò)程,讓我了解到了一位攻城獅在項(xiàng)目開(kāi)發(fā)維護(hù)過(guò)程中實(shí)際經(jīng)驗(yàn)的重要性,多思考,多實(shí)踐,多多積累經(jīng)驗(yàn),才是一位攻城獅的成長(zhǎng)之路.
交互 控制臺(tái) 渲染 運(yùn)維
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請(qǐng)聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時(shí)內(nèi)刪除侵權(quán)內(nèi)容。
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請(qǐng)聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時(shí)內(nèi)刪除侵權(quán)內(nèi)容。