【W(wǎng)indows】使用WinDbg分析minidump崩潰文件

兩種類(lèi)型的符號(hào)文件

符號(hào)文件有兩種類(lèi)型:

  • full symbol:包含public symbols和private symbols
  • stripped symbol:只包含public symbols澈圈,vc鏈接設(shè)置選項(xiàng)中生成stripped類(lèi)型symbol的產(chǎn)出拓哟,只有全局變量和函數(shù),可以視為是每個(gè)obj導(dǎo)出的變量和函數(shù)都许,可以供其他obj調(diào)用的,其他本地變量這些都不包含

調(diào)試如何查找符號(hào)文件路徑

vs生成的debug版二進(jìn)制文件會(huì)包含文件路徑和文件名信息耳幢,同時(shí)把符號(hào)文件和二進(jìn)制文件放在同個(gè)目錄下轴总。這樣,只要符號(hào)文件不變刮便,那么調(diào)試器就不需要設(shè)置符號(hào)文件路徑也能自動(dòng)定位到對(duì)應(yīng)的符號(hào)文件。
符號(hào)文件帶有日期和時(shí)間戳绽慈,所以通過(guò)這個(gè)調(diào)試器來(lái)區(qū)別不同版本的符號(hào)文件恨旱,而不會(huì)發(fā)生混淆

WinDbg的使用步驟

  1. 打開(kāi)需要分析的崩潰文件


    打開(kāi)崩潰文件
  2. 設(shè)置符號(hào)文件查找路徑
    執(zhí)行命令.sympath \\192.168.1.1\Symbols\MyProject\1.1.1.1;cache*D:\Symbols;srv*
    這里設(shè)置了兩個(gè)路徑,一個(gè)是我們自己的二進(jìn)制文件對(duì)應(yīng)的符號(hào)文件所在的路徑:\192.168.1.1\Symbols\MyProject\1.1.1.1
    另外一個(gè)則是符號(hào)文件的緩存路徑D:\Symbols坝疼,主要用于緩存Windows符號(hào)文件
    這兩個(gè)路徑可以按自己的實(shí)際情況進(jìn)行修改搜贤,此外,還可以在setting里進(jìn)行設(shè)置钝凶,這樣就不用每次都設(shè)置一遍這個(gè)路徑仪芒,會(huì)自動(dòng)重用

    通過(guò)Settings來(lái)設(shè)置符號(hào)文件查找路徑

  3. 分析崩潰文件
    輸入命令 !analyze -v進(jìn)行崩潰的分析,一般這個(gè)命令的分析結(jié)果里面有對(duì)應(yīng)的崩潰所在的函數(shù)堆棧顯示,還有對(duì)應(yīng)的崩潰在哪一行的定位桌硫,大部分情況下就已經(jīng)足夠我們找到崩潰原因了夭咬。

    崩潰堆棧

    崩潰所對(duì)應(yīng)源碼位置

WinDbg的一些常用命令說(shuō)明

WinDbg的命令如果是.開(kāi)頭的表示這個(gè)命令是一個(gè)配置命令,如果是!開(kāi)頭的則表示這是一個(gè)擴(kuò)展命令

符號(hào)文件路徑設(shè)置命令
  • .sympath:顯示當(dāng)前符號(hào)文件查找路徑
  • .sympath cache*<路徑>:設(shè)置緩存路徑铆隘,不指定具體路徑則使用默認(rèn)的
  • .sympath cache*<路徑>;srv*:設(shè)置符號(hào)文件下載路徑卓舵,不指定則用默認(rèn)的(https://msdl.microsoft.com/download/symbols
  • .sympath <路徑>;cache*;srv*:設(shè)置多個(gè)查找路徑組合
  • .reload:如果重新設(shè)置了路徑,那么用這個(gè)命令重新進(jìn)行符號(hào)文件的查找
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末膀钠,一起剝皮案震驚了整個(gè)濱河市掏湾,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌肿嘲,老刑警劉巖融击,帶你破解...
    沈念sama閱讀 218,755評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異雳窟,居然都是意外死亡尊浪,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,305評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門(mén)封救,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)拇涤,“玉大人,你說(shuō)我怎么就攤上這事誉结《焓浚” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 165,138評(píng)論 0 355
  • 文/不壞的土叔 我叫張陵惩坑,是天一觀的道長(zhǎng)掉盅。 經(jīng)常有香客問(wèn)我,道長(zhǎng)以舒,這世上最難降的妖魔是什么趾痘? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,791評(píng)論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮蔓钟,結(jié)果婚禮上永票,老公的妹妹穿的比我還像新娘。我一直安慰自己奋刽,他們只是感情好瓦侮,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,794評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布艰赞。 她就那樣靜靜地躺著佣谐,像睡著了一般。 火紅的嫁衣襯著肌膚如雪方妖。 梳的紋絲不亂的頭發(fā)上狭魂,一...
    開(kāi)封第一講書(shū)人閱讀 51,631評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼雌澄。 笑死斋泄,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的镐牺。 我是一名探鬼主播炫掐,決...
    沈念sama閱讀 40,362評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼睬涧!你這毒婦竟也來(lái)了募胃?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 39,264評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤畦浓,失蹤者是張志新(化名)和其女友劉穎痹束,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體讶请,經(jīng)...
    沈念sama閱讀 45,724評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡祷嘶,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,900評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了夺溢。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片论巍。...
    茶點(diǎn)故事閱讀 40,040評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖企垦,靈堂內(nèi)的尸體忽然破棺而出环壤,到底是詐尸還是另有隱情,我是刑警寧澤钞诡,帶...
    沈念sama閱讀 35,742評(píng)論 5 346
  • 正文 年R本政府宣布郑现,位于F島的核電站,受9級(jí)特大地震影響荧降,放射性物質(zhì)發(fā)生泄漏接箫。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,364評(píng)論 3 330
  • 文/蒙蒙 一朵诫、第九天 我趴在偏房一處隱蔽的房頂上張望辛友。 院中可真熱鬧,春花似錦剪返、人聲如沸废累。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,944評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)邑滨。三九已至,卻和暖如春钱反,著一層夾襖步出監(jiān)牢的瞬間掖看,已是汗流浹背匣距。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,060評(píng)論 1 270
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留哎壳,地道東北人毅待。 一個(gè)月前我還...
    沈念sama閱讀 48,247評(píng)論 3 371
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像归榕,于是被迫代替她去往敵國(guó)和親尸红。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,979評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理刹泄,服務(wù)發(fā)現(xiàn)驶乾,斷路器,智...
    卡卡羅2017閱讀 134,659評(píng)論 18 139
  • Ubuntu的發(fā)音 Ubuntu风科,源于非洲祖魯人和科薩人的語(yǔ)言,發(fā)作 oo-boon-too 的音乞旦。了解發(fā)音是有意...
    螢火蟲(chóng)de夢(mèng)閱讀 99,274評(píng)論 9 467
  • layout: wikititle: Windbg調(diào)試筆記categories: Debugdescription...
    超哥__閱讀 19,439評(píng)論 0 17
  • linux資料總章2.1 1.0寫(xiě)的不好抱歉 但是2.0已經(jīng)改了很多 但是錯(cuò)誤還是無(wú)法避免 以后資料會(huì)慢慢更新 大...
    數(shù)據(jù)革命閱讀 12,168評(píng)論 2 33
  • 常見(jiàn)測(cè)試用例的設(shè)計(jì)方法 1贼穆、為什么要做好測(cè)試用例設(shè)計(jì)? (1)提現(xiàn)測(cè)試人員的專(zhuān)業(yè)能力 (2)關(guān)系著最根本的測(cè)試質(zhì)量...
    小井景閱讀 769評(píng)論 0 0