新聞中心
一個(gè)不幸的事實(shí)是,所有的軟件都有 bug,一些 bug 會(huì)導(dǎo)致系統(tǒng)崩潰。當(dāng)它出現(xiàn)的時(shí)候,它經(jīng)常會(huì)在磁盤上留下一個(gè)被稱為“核心轉(zhuǎn)儲(chǔ)”的數(shù)據(jù)文件。該文件包含有關(guān)系統(tǒng)崩潰時(shí)的相關(guān)數(shù)據(jù),可能有助于確定發(fā)生崩潰的原因。通常開發(fā)者要求提供 “回溯” 形式的數(shù)據(jù),以顯示導(dǎo)致崩潰的指令流。開發(fā)人員可以使用它來修復(fù) bug 以改進(jìn)系統(tǒng)。如果系統(tǒng)發(fā)生了崩潰,以下是如何輕松生成回溯的方法。

在烏審等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供成都做網(wǎng)站、成都網(wǎng)站建設(shè) 網(wǎng)站設(shè)計(jì)制作按需設(shè)計(jì)網(wǎng)站,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),品牌網(wǎng)站制作,成都全網(wǎng)營銷,外貿(mào)網(wǎng)站制作,烏審網(wǎng)站建設(shè)費(fèi)用合理。
從使用 coredumpctl 開始
大多數(shù) Fedora 系統(tǒng)使用自動(dòng)錯(cuò)誤報(bào)告工具(ABRT)[1]來自動(dòng)捕獲崩潰文件并記錄 bug。但是,如果你禁用了此服務(wù)或刪除了該軟件包,則此方法可能會(huì)有所幫助。
如果你遇到系統(tǒng)崩潰,請首先確保你運(yùn)行的是最新的軟件。更新通常包含修復(fù)程序,這些更新通常含有已經(jīng)發(fā)現(xiàn)的會(huì)導(dǎo)致嚴(yán)重錯(cuò)誤和崩潰的錯(cuò)誤的修復(fù)。當(dāng)你更新后,請嘗試重現(xiàn)導(dǎo)致錯(cuò)誤的情況。
如果崩潰仍然發(fā)生,或者你已經(jīng)在運(yùn)行最新的軟件,那么可以使用有用的 coredumpctl 工具。此程序可幫助查找和處理崩潰。要查看系統(tǒng)上所有核心轉(zhuǎn)儲(chǔ)列表,請運(yùn)行以下命令:
coredumpctl list
如果你看到比預(yù)期長的列表,請不要感到驚訝。有時(shí)系統(tǒng)組件在后臺(tái)默默地崩潰,并自行恢復(fù)??焖俨檎医裉斓霓D(zhuǎn)儲(chǔ)的簡單方法是使用 -since 選項(xiàng):
coredumpctl list --since=today
“PID” 列包含用于標(biāo)識(shí)轉(zhuǎn)儲(chǔ)的進(jìn)程 ID。請注意這個(gè)數(shù)字,因?yàn)槟銜?huì)之后再用到它?;蛘?,如果你不想記住它,使用下面的命令將它賦值給一個(gè)變量:
MYPID=
要查看關(guān)于核心轉(zhuǎn)儲(chǔ)的信息,請使用此命令(使用 $MYPID 變量或替換 PID 編號(hào)):
coredumpctl info $MYPID
安裝 debuginfo 包
在核心轉(zhuǎn)儲(chǔ)中的數(shù)據(jù)以及原始代碼中的指令之間調(diào)試符號(hào)轉(zhuǎn)義。這個(gè)符號(hào)數(shù)據(jù)可能相當(dāng)大。與大多數(shù)用戶運(yùn)行在 Fedora 系統(tǒng)上的軟件包不同,符號(hào)以 “debuginfo” 軟件包的形式安裝。要確定你必須安裝哪些 debuginfo 包,請先運(yùn)行以下命令:
coredumpctl gdb $MYPID
這可能會(huì)在屏幕上顯示大量信息。最后一行可能會(huì)告訴你使用 dnf 安裝更多的 debuginfo 軟件包。用 sudo [2]運(yùn)行該命令以安裝:
sudo dnf debuginfo-install
然后再次嘗試 coredumpctl gdb $MYPID 命令。你可能需要重復(fù)執(zhí)行此操作,因?yàn)槠渌?hào)會(huì)在回溯中展開。
捕獲回溯
在調(diào)試器中運(yùn)行以下命令以記錄信息:
set logging file mybacktrace.txt
set logging on
你可能會(huì)發(fā)現(xiàn)關(guān)閉分頁有幫助。對于長的回溯,這可以節(jié)省時(shí)間。
set pagination off
現(xiàn)在運(yùn)行回溯:
thread apply all bt full
現(xiàn)在你可以輸入 quit 來退出調(diào)試器。mybacktrace.txt 包含可附加到 bug 或問題的追蹤信息。或者,如果你正在與某人實(shí)時(shí)合作,則可以將文本上傳到 pastebin。無論哪種方式,你現(xiàn)在可以向開發(fā)人員提供更多的幫助來解決問題。
網(wǎng)頁題目:Linux下使用coredumpctl工具處理BUG
本文鏈接:http://m.5511xx.com/article/dhgcssc.html


咨詢
建站咨詢
