• <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)志位是用來(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)程等)
            類似用法還有!handle(就是!后面跟結(jié)構(gòu)名)等等
            ----------------------------------------------------------------------------
            dt name
            說明:dt用來(lái)查看本地|全局|結(jié)構(gòu)變量?jī)?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)斷下來(lái)了
            還有個(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斷下來(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é)了這么多
            剩下的明天在看 呵呵
            下次要說的內(nèi)容是
            堆棧顯示指令kb , kp, kP , kv
            反匯編指令 u,uf
            跟蹤指令 T,TA,TB,TC
            執(zhí)行相關(guān)指令 P,PA,PC
            跟蹤查看指令 WT
            先記下來(lái)~省的我忘了~
            要調(diào)試也就大概就用到這些命令了吧 以后就開始記我的調(diào)試過程了~


            posted on 2009-01-16 16:23 __ay 閱讀(1673) 評(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久久精品免费| 久久久无码精品午夜| 精品久久久中文字幕人妻| 国内精品九九久久久精品| 蜜桃麻豆www久久| 久久狠狠爱亚洲综合影院| 久久精品亚洲一区二区三区浴池| 超级碰久久免费公开视频| 国产A三级久久精品| 人妻少妇精品久久| 婷婷综合久久中文字幕| 国产亚洲色婷婷久久99精品| 亚洲午夜久久久| 色欲综合久久躁天天躁| 国产亚洲美女精品久久久| 久久国产乱子伦精品免费午夜| 久久精品中文无码资源站| 久久免费的精品国产V∧| 99久久99久久精品国产片果冻| 国产精品久久久香蕉| 久久强奷乱码老熟女网站| 亚洲国产成人久久综合野外| 久久久久人妻精品一区三寸蜜桃| 欧美无乱码久久久免费午夜一区二区三区中文字幕 | 一本色道久久99一综合| 午夜肉伦伦影院久久精品免费看国产一区二区三区 | 久久青青草原精品国产| 久久99精品久久久久久久久久| 精品熟女少妇a∨免费久久| 91久久精品视频| 久久综合亚洲鲁鲁五月天| 精品999久久久久久中文字幕 | 国产精品日韩深夜福利久久| 青青草国产97免久久费观看| 久久99精品国产自在现线小黄鸭| avtt天堂网久久精品| 久久久久亚洲AV片无码下载蜜桃| 久久精品国产99久久无毒不卡| 国产91色综合久久免费| 伊人久久大香线蕉AV色婷婷色|