西西軟件下載最安全的下載網(wǎng)站、值得信賴的軟件下載站!

首頁編程開發(fā)其它知識(shí) → 軟件開發(fā)調(diào)試、抓取dump文件的三重境界

軟件開發(fā)調(diào)試、抓取dump文件的三重境界

相關(guān)軟件相關(guān)文章發(fā)表評(píng)論 來源:西西整理時(shí)間:2013/2/18 21:17:13字體大。A-A+

作者:SolidMango點(diǎn)擊:1次評(píng)論:0次標(biāo)簽: dump

  • 類型:網(wǎng)絡(luò)共享大。1.4M語言:中文 評(píng)分:2.1
  • 標(biāo)簽:
立即下載

對(duì)于軟件開發(fā)而言,調(diào)試無疑是最重要的部分之一,而對(duì)于windows 系統(tǒng)而言,dump文件無疑是問題發(fā)生時(shí)最全面的信息,對(duì)于一些問題而言,在對(duì)的時(shí)候抓取對(duì)的.dump文件基本上就相當(dāng)于解決了一大半的問題。本文由淺入深的介紹了用戶模式下抓取.dump文件的幾種方式,希望對(duì)日夜奮戰(zhàn)在加班線上的朋友有所幫助。

入門級(jí)-目標(biāo)是問題發(fā)生的時(shí)候手動(dòng)可以抓到dump文件

1. 當(dāng)問題發(fā)生的時(shí)候使用windbg attach 到相關(guān)的進(jìn)程然后使用.dump /ma 命令抓取 dump 文件。
2. 當(dāng)問題發(fā)生的時(shí)候使用adplus.vbs/adplus.exe –hang 抓取相關(guān)進(jìn)程的dump 文件。
入門級(jí)的方法最大的缺點(diǎn)就是要等到問題發(fā)生的時(shí)候才能去手動(dòng)抓取.dump文件,如果問題不易重現(xiàn),那么人們就不得不坐在電腦前等待問題的發(fā)生,好慘。

進(jìn)階級(jí)-目標(biāo)是crash 發(fā)生的時(shí)候或者進(jìn)程退出的時(shí)候可以自動(dòng)抓到dump文件
1. 在問題發(fā)生的之前使用adplus.vbs/adplus.exe –crash監(jiān)控相關(guān)進(jìn)程的, 值得注意的是這個(gè)方法不需要手動(dòng)去抓,只要crash或者進(jìn)程退出,OS會(huì)自動(dòng)為我們抓取dump文件,再也不用坐在顯示器前等待了,來杯咖啡等著就行了。
2. 使用windbg –I 將windbg設(shè)置為即時(shí)調(diào)試器,這樣當(dāng)問題發(fā)生的時(shí)候,windbg就會(huì)彈出來,直到你處理了為止,同樣不需要在顯示器前面等待。
生活已經(jīng)很美好了,但是生活可以更美好,進(jìn)階級(jí)的缺點(diǎn)是只能抓取crash或者進(jìn)程退出的dump文件,其他情況無能為力。

高級(jí)-目標(biāo)是定制在什么情況下抓取dump文件

這是最靈活的一種方式,但是也是相對(duì)最復(fù)雜的一種方式,下面為了便于說明我以一個(gè)例子來說明。
這個(gè)例子中我的目標(biāo)是在notepad.exe load VERSION.dll的時(shí)候抓一個(gè)dump然后讓程序繼續(xù)執(zhí)行。
首先在gflags的debugger中配置如下腳本:
D:\Debuggers\windbg.exe -c $$><"c:\dscript.ds"
c:\dscript.ds內(nèi)容如下:
sxe ld:VERSION.dll; g; .dump /ma c:\np.dmp;g;
這個(gè)時(shí)候只要有notepad.exe開始執(zhí)行,我們就會(huì)在它load VERSION.dll的時(shí)候抓取到對(duì)應(yīng)的.dump 文件。
這個(gè)方法的優(yōu)勢(shì)是明顯的,幾乎任何問題都可以使用,但是它仍然有一個(gè)弊端,就是實(shí)際上進(jìn)程是在調(diào)試器下運(yùn)行的,對(duì)一些和性能有關(guān)的問題可能會(huì)有些影響。

總結(jié)
本文介紹的這幾種方式由淺入深,各有利弊,對(duì)于大部分的調(diào)試情況已經(jīng)足夠了,希望對(duì)大家有所幫助,當(dāng)然除了本文介紹的方式,大家還可以選擇其他一些工具來抓取dump文件,此處不一一列舉,另外對(duì)于kernel dump 文件的抓取,由于日常的應(yīng)用開發(fā)用的不多,故本文暫不作介紹,如果感興趣的朋友多,我再寫一篇專門抓取內(nèi)核dump的文章。

    相關(guān)評(píng)論

    閱讀本文后您有什么感想? 已有人給出評(píng)價(jià)!

    • 8 喜歡喜歡
    • 3 頂
    • 1 難過難過
    • 5 囧
    • 3 圍觀圍觀
    • 2 無聊無聊

    熱門評(píng)論

    最新評(píng)論

    發(fā)表評(píng)論 查看所有評(píng)論(0)

    昵稱:
    表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
    字?jǐn)?shù): 0/500 (您的評(píng)論需要經(jīng)過審核才能顯示)
    推薦文章

    沒有數(shù)據(jù)