• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            Ay's Blog@CNSSUESTC

            windbg學(xué)習(xí)筆記 FOR 內(nèi)核調(diào)試(一)

            ????? 放假回家就下定決心要把windbg搞定 否則以后的內(nèi)核之路該咋走啊~呵呵 今天就網(wǎng)上零零碎碎的記了些命令用法? 看了別人的調(diào)試教程
            個(gè)人總結(jié)下

            ----------------------------------------------------------------------------
            !drvobj 你的驅(qū)動(dòng)對(duì)象 [標(biāo)志位]
            說(shuō)明:這個(gè)指令可以查看驅(qū)動(dòng)對(duì)象的具體信息 我們知道每個(gè)驅(qū)動(dòng)程序在內(nèi)核中都會(huì)對(duì)應(yīng)一個(gè)驅(qū)動(dòng)對(duì)象的結(jié)構(gòu),其實(shí)上面所說(shuō)的驅(qū)動(dòng)對(duì)象就是你的驅(qū)動(dòng)名字,比如我要找aynet.sys這個(gè)驅(qū)動(dòng)程序的驅(qū)動(dòng)對(duì)象結(jié)構(gòu),那么我就!drvobj aynet 就好啦~
            標(biāo)志位是用來(lái)告訴windbg具體要顯示什么內(nèi)容的,標(biāo)志位可以組合使用
            Bit 0 (0x1)
            顯示所有跟這個(gè)驅(qū)動(dòng)對(duì)象相關(guān)聯(lián)的設(shè)備對(duì)象信息
            Bit 1 (0x2)
            顯示所有跟這個(gè)驅(qū)動(dòng)想關(guān)的派遣例程信息
            Bit 2 (0x4)
            顯示這個(gè)驅(qū)動(dòng)對(duì)象的詳細(xì)信息 (需要標(biāo)志位0)
            ps: !object 可以查看對(duì)象的詳細(xì)信息 比如該內(nèi)核對(duì)象是什么內(nèi)核對(duì)象(文件,進(jìn)程等)
            類(lèi)似用法還有!handle(就是!后面跟結(jié)構(gòu)名)等等
            ----------------------------------------------------------------------------
            dt name
            說(shuō)明:dt用來(lái)查看本地|全局|結(jié)構(gòu)變量?jī)?nèi)容的 , name是指你的變量類(lèi)型是什么,你要看_DEVICE_OBJECT這個(gè)結(jié)構(gòu)變量就直接打 dt _DEVICE_OBJECT? 查看變量就直接輸變量名
            ----------------------------------------------------------------------------
            下面說(shuō)說(shuō)下斷點(diǎn)的指令
            bp 地址
            在地址處下斷點(diǎn) 也可以是函數(shù)名(其實(shí)函數(shù)名就對(duì)應(yīng)著地址)
            打個(gè)比方bp aynet!DriverEntry 說(shuō)明在aynet這個(gè)驅(qū)動(dòng)程序的driverentry函數(shù)處下斷 也就是程序一執(zhí)行到這里windbg就自動(dòng)斷下來(lái)了
            還有個(gè)bu指令 延遲下斷點(diǎn) 格式跟bp差不多

            bm 匹配值
            bm指令用于匹配模式下斷點(diǎn) 比如說(shuō)bm aynet!Driver* 可以把a(bǔ)ynet驅(qū)動(dòng)下所有跟Driver* 模式匹配的函數(shù)斷下 但是注意~需要符號(hào)表的支持

            ba 變量名
            可以對(duì)內(nèi)存訪(fǎng)問(wèn)下斷點(diǎn) 比如說(shuō)你程序里有個(gè)aynet驅(qū)動(dòng)程序a變量,總被莫名其妙的修改了,那么你可以設(shè)置 ba aynet!a ,當(dāng)這個(gè)a值被修改的時(shí)候就可以被windbg斷下來(lái)了

            還有其他常用命令比如
            BL(List)列舉斷點(diǎn),BC(Clear)清除斷點(diǎn),BE(Enable)啟用斷點(diǎn),BD(Disable)禁止斷點(diǎn)
            這些很簡(jiǎn)單 就不累述了
            ----------------------------------------------------------------------------
            注:一下指令區(qū)分大小
            顯示內(nèi)存數(shù)據(jù)相關(guān)指令
            格式:d[*] 變量名/地址
            da--asc字符顯示
            db--byte&asc字符顯示
            dc--雙字節(jié)&asc字符顯示
            dd--雙字節(jié)變量顯示
            dD--雙精浮點(diǎn)數(shù)顯示
            df--單精浮點(diǎn)數(shù)顯示
            dp--四字節(jié)數(shù)值顯示
            du--unicode字符顯示
            dw--字符(2個(gè)字節(jié))顯示
            dW--字符和asc字符顯示
            dyb--二進(jìn)制顯示
            dyd--二進(jìn)制和雙字節(jié)顯示
            舉個(gè)例子:(注:xx是變量名 )
            kd> dd xx????? //雙字節(jié)顯示(即16進(jìn)制)
            8055b260? 610f0f64 00000002 00000000 00000000
            8055b270? 00000000 00000000 00000000 00000000
            8055b280? 00000000 00000000 00000000 00000000
            8055b290? 00000000 00000000 00000000 00000000
            8055b2a0? 00000000 00000000 00000000 00000000
            8055b2b0? 00000000 00000000 00000000 00000000
            8055b2c0? 00000000 00000000 00000000 00000000
            8055b2d0? 00000000 00000000 00000000 00000000
            kd> da xx? //asc字符顯示
            8055b260? "`."
            kd> du xx? //unicode字符顯示
            8055b260? "..."

            附加:
            dv
            查看本地變量用~

            看內(nèi)存內(nèi)容的時(shí)候就會(huì)用到這個(gè)命令了~呵呵
            ----------------------------------------------------------------------------
            今天就學(xué)了這么多
            剩下的明天在看 呵呵
            下次要說(shuō)的內(nèi)容是
            堆棧顯示指令kb , kp, kP , kv
            反匯編指令 u,uf
            跟蹤指令 T,TA,TB,TC
            執(zhí)行相關(guān)指令 P,PA,PC
            跟蹤查看指令 WT
            先記下來(lái)~省的我忘了~
            要調(diào)試也就大概就用到這些命令了吧 以后就開(kāi)始記我的調(diào)試過(guò)程了~


            posted on 2009-01-16 16:23 __ay 閱讀(1673) 評(píng)論(3)  編輯 收藏 引用 所屬分類(lèi): 操作系統(tǒng)&&內(nèi)核

            Feedback

            # re: windbg學(xué)習(xí)筆記 FOR 內(nèi)核調(diào)試(一) 2009-01-24 11:22 似水之心

            不錯(cuò),

            看過(guò)了就要回

              回復(fù)  更多評(píng)論   

            # re: windbg學(xué)習(xí)筆記 FOR 內(nèi)核調(diào)試(一) 2009-01-24 18:14 __ay

            有人回復(fù)~很是欣慰阿~~呵呵
              回復(fù)  更多評(píng)論   

            # re: windbg學(xué)習(xí)筆記 FOR 內(nèi)核調(diào)試(一) 2009-01-26 14:42 test

            不錯(cuò)的文章,我要轉(zhuǎn)載  回復(fù)  更多評(píng)論   


            国产精品热久久无码av| 国产精品九九九久久九九| 大香伊人久久精品一区二区| 久久国产免费直播| 国产精品一久久香蕉国产线看| 久久国产乱子精品免费女| 国内精品久久国产| 久久香蕉综合色一综合色88| 精品久久久久成人码免费动漫| 99久久精品国内| 亚洲精品美女久久久久99小说| 精品久久久久久无码专区| 亚洲精品美女久久久久99小说| a高清免费毛片久久| 久久久国产打桩机| 久久精品国产一区二区三区| 狠狠干狠狠久久| 无码精品久久久久久人妻中字 | 精品久久久一二三区| 久久精品国产亚洲网站| 久久人人爽人人爽人人片AV不| 亚州日韩精品专区久久久| 成人a毛片久久免费播放| 久久久国产精品亚洲一区| 亚洲伊人久久精品影院| 国产精品久久久久久久人人看| 久久综合狠狠综合久久97色| 精品无码久久久久国产| 精品国产乱码久久久久久人妻| 亚洲精品无码久久久| 欧美粉嫩小泬久久久久久久| 国产精品激情综合久久| 久久综合九色综合久99| 国产精品久久久久aaaa| 青青青青久久精品国产h| 伊人热人久久中文字幕| 国产国产成人久久精品| 中文字幕久久欲求不满| 久久久久99精品成人片| 久久无码国产| 色综合久久久久无码专区|