• <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)志位]
            說明:這個(gè)指令可以查看驅(qū)動(dòng)對(duì)象的具體信息 我們知道每個(gè)驅(qū)動(dòng)程序在內(nèi)核中都會(huì)對(duì)應(yīng)一個(gè)驅(qū)動(dòng)對(duì)象的結(jié)構(gòu),其實(shí)上面所說的驅(qū)動(dòng)對(duì)象就是你的驅(qū)動(dòng)名字,比如我要找aynet.sys這個(gè)驅(qū)動(dòng)程序的驅(qū)動(dòng)對(duì)象結(jié)構(gòu),那么我就!drvobj aynet 就好啦~
            標(biāo)志位是用來告訴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)程等)
            類似用法還有!handle(就是!后面跟結(jié)構(gòu)名)等等
            ----------------------------------------------------------------------------
            dt name
            說明:dt用來查看本地|全局|結(jié)構(gòu)變量內(nèi)容的 , name是指你的變量類型是什么,你要看_DEVICE_OBJECT這個(gè)結(jié)構(gòu)變量就直接打 dt _DEVICE_OBJECT? 查看變量就直接輸變量名
            ----------------------------------------------------------------------------
            下面說說下斷點(diǎn)的指令
            bp 地址
            在地址處下斷點(diǎn) 也可以是函數(shù)名(其實(shí)函數(shù)名就對(duì)應(yīng)著地址)
            打個(gè)比方bp aynet!DriverEntry 說明在aynet這個(gè)驅(qū)動(dòng)程序的driverentry函數(shù)處下斷 也就是程序一執(zhí)行到這里windbg就自動(dòng)斷下來了
            還有個(gè)bu指令 延遲下斷點(diǎn) 格式跟bp差不多

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

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

            還有其他常用命令比如
            BL(List)列舉斷點(diǎn),BC(Clear)清除斷點(diǎn),BE(Enable)啟用斷點(diǎn),BD(Disable)禁止斷點(diǎ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é)了這么多
            剩下的明天在看 呵呵
            下次要說的內(nèi)容是
            堆棧顯示指令kb , kp, kP , kv
            反匯編指令 u,uf
            跟蹤指令 T,TA,TB,TC
            執(zhí)行相關(guān)指令 P,PA,PC
            跟蹤查看指令 WT
            先記下來~省的我忘了~
            要調(diào)試也就大概就用到這些命令了吧 以后就開始記我的調(diào)試過程了~


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

            Feedback

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

            不錯(cuò),

            看過了就要回

              回復(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)論   


            久久精品国产99国产精品导航| 日韩人妻无码一区二区三区久久99| 大香伊人久久精品一区二区| 国产欧美久久久精品影院| 久久久久人妻一区精品性色av| 秋霞久久国产精品电影院| 久久久久青草线蕉综合超碰| 久久99国产综合精品女同| 精产国品久久一二三产区区别| 久久Av无码精品人妻系列| 麻豆精品久久久一区二区| 亚洲精品无码成人片久久| 蜜桃麻豆WWW久久囤产精品| 精品久久久久久国产| 99久久精品午夜一区二区| 亚洲精品乱码久久久久久蜜桃| 91精品国产色综合久久| 无码久久精品国产亚洲Av影片| 免费精品99久久国产综合精品| 久久综合久久美利坚合众国| 国产午夜精品久久久久九九| 青青青青久久精品国产 | 久久最近最新中文字幕大全 | 丰满少妇人妻久久久久久| 伊人久久大香线蕉综合5g| 91精品婷婷国产综合久久| 91久久国产视频| 精品999久久久久久中文字幕 | 无码任你躁久久久久久老妇 | 亚洲综合熟女久久久30p| 久久久久九国产精品| 日本久久久久久久久久| 精品久久久久久国产牛牛app | 久久久噜噜噜久久中文字幕色伊伊 | 7777久久久国产精品消防器材| 香蕉aa三级久久毛片| 日本精品久久久久久久久免费| 品成人欧美大片久久国产欧美...| 91精品国产高清久久久久久91 | 免费精品久久久久久中文字幕| 日产久久强奸免费的看|