當(dāng)程序崩潰時(shí)如何自動產(chǎn)生crash dump(內(nèi)存錯(cuò)誤)
溫馨提示:很多手機(jī)瀏覽器,比如百度app,都可以語音播報(bào)本網(wǎng)頁。方法打開本網(wǎng)頁之后,點(diǎn)擊 APP下方或上方"功能"按鈕,里面有一個(gè)"語音播報(bào)"按鈕,點(diǎn)擊即可收聽。
今天跟大家分享如何讓程序崩潰時(shí)啟動WinDBG 自動產(chǎn)生dump 在預(yù)設(shè)的路徑下,這個(gè)方法特別適用在你沒辦法重現(xiàn)問題而客戶的環(huán)境又沒辦法提供給工程師除錯(cuò)時(shí),就可以把dump 帶回offline 分析。
設(shè)定
切到底下的Registry key 可以看到
HKEY_LOCAL_MACHINE\Software\Microsoft\WindowsNT\CurrentVersion\AeDebug
如果沒有Auto 的欄位,必須新增并把值設(shè)成1 。
因?yàn)槲业拈_發(fā)電腦有安裝visual studio 所以default 的debugger 是visual studio 的just-in-time debugger,當(dāng)程序崩潰時(shí)會自動觸發(fā)visual studio 幫你attach 到項(xiàng)目文件即時(shí)除錯(cuò)。
但假設(shè)今天你不是負(fù)責(zé)除錯(cuò)的開發(fā)人員,只想產(chǎn)生dump 保留給后續(xù)相關(guān)人員分析,可以通過WinDBG 達(dá)到一樣的功能。步驟很簡單,只需要將下圖Debugger 的值改成如下的范本:
"[WinDBG path]" -p %ld –c ".dump /ma /u [dump path];.kill;qd" -e %ld –g
1、[WinDBG path] - windbg.exe 的所在路徑
2、[dump path] - 產(chǎn)生dump 的所在路徑(文件夾必須存在且具有寫入的權(quán)限)
實(shí)際范例如下:
"C:\Program Files (x86)\Windows Kits\10\Debuggers\x64\windbg.exe" -p %ld –c ".dump /ma /u D:\CrashDump.dmp;.kill;qd" -e %ld –g
通過設(shè)定Registry 就能讓dump 自動產(chǎn)生啰! 如果你需要產(chǎn)生crash 的process 測試,可以執(zhí)行上一篇
#電腦小知識#
轉(zhuǎn)載原文地址:https://baijiahao.baidu.com/s?id=1708954829105820410
作者:百家號四川人在香港
聲明:本文僅代表作者觀點(diǎn),不代表本網(wǎng)站平臺立場