• <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>

            elva

            使用Virtual PC進(jìn)行Windows內(nèi)核調(diào)試的詳細(xì)過程

            使用WinDbg進(jìn)行Windows內(nèi)核調(diào)試通常需要兩臺計(jì)算機(jī),一臺是Debuggee,一臺作為Debugger,又成為Host。使用Virtual PC可以在同一臺電腦上進(jìn)行內(nèi)核調(diào)試,對于某些調(diào)試任務(wù)來說還是非常有用的。

            下面以Virtual PC 2004為例,介紹一下利用Virtual PC進(jìn)行Windows內(nèi)核調(diào)試的詳細(xì)過程。

            1,下載并安裝Virtual PC 2004,從略。

            2,啟動Virutal PC Console(控制臺),創(chuàng)建一臺新的虛擬PC,安裝向?qū)У奶崾九渲糜脖P、內(nèi)存等參數(shù)。

            3,在剛才創(chuàng)建的虛擬PC上安裝操作系統(tǒng),這個操作系統(tǒng)應(yīng)該是你要調(diào)試的Windows版本。比如你想調(diào)試你的驅(qū)動程序在Windows Server 2003上出現(xiàn)的問題,那么就安裝Windows Server 2003。我們以Windows 2000為例。

            4,配置虛擬PC的串行口,在Virtual PC的控制臺中選擇Windows 2000,然后點(diǎn)擊Settings按鈕彈出設(shè)置對話框,然后在左側(cè)的列表中(如下圖)選擇COM1。

            右側(cè)選擇Named Pipe選項(xiàng),即使用命名管道來模擬串行口,然后輸入管道的完整名稱:\\.\pipe\com_1,com_1可以為其它名稱,但是前面的部分應(yīng)該保持不變。

            5,啟動虛擬PC中的Windows 2000,然后進(jìn)入命令行窗口,執(zhí)行如下命令以便在啟動菜單中增加調(diào)試選項(xiàng):

            c:

            cd\

            attrib -r -h

            edit boot.ini

            然后將其最末一行復(fù)制,并加入調(diào)試選項(xiàng),成為為如下狀態(tài):

            6,在虛擬PC中選擇重新啟動Windows 2000,當(dāng)出現(xiàn)啟動菜單時,按方向鍵使其停止自動計(jì)時,等待在這里。

            7,在主機(jī)(debugger)上準(zhǔn)備啟動WinDbg,考慮每次輸入命令行參數(shù)太麻煩,所以建議建立一個如下內(nèi)容的批處理文件,并將其放到與WinDbg.exe同位置的目錄中。

            windbg -k com:pipe,port=\\.\pipe\com_1

            8,運(yùn)行批處理文件,使其也進(jìn)入等待狀態(tài):

            9,切換到虛擬PC窗口,選擇帶有“Debug Enabled”的一項(xiàng)然后回車啟動。

            10,切換到WinDbg窗口并觀察,如果一切順利,那么會有如下類似信息輸出:

            Connected to Windows 2000 2195 x86 compatible target, ptr64 FALSE
            Kernel Debugger connection established.
            Symbol search path is: SRV*c:\symbols*http://msdl.microsoft.com/download/symbols
            Executable search path is:
            Windows 2000 Kernel Version 2195 UP Free x86 compatible
            Kernel base = 0x80400000 PsLoadedModuleList = 0x8046a4c0
            System Uptime: not available

            11,見到如上信息就說明WinDbg已經(jīng)與虛擬PC中運(yùn)行的Windows 2000成功建立調(diào)試對話了。如果想感受一下將Windows控制于股掌之中的快感,那么就按下Ctrl+Break,隨著按鍵發(fā)出,Windows 2000會被立刻定住。WinDbg中會顯示如下信息:

            *******************************************************************************
            *                                                                             *
            *   You are seeing this message because you pressed either                    *
            *       CTRL+C (if you run kd.exe) or,                                        *
            *       CTRL+BREAK (if you run WinDBG),                                       *
            *   on your debugger machine's keyboard.                                      *
            *                                                                             *
            *                   THIS IS NOT A BUG OR A SYSTEM CRASH                       *
            *                                                                             *
            * If you did not intend to break into the debugger, press the "g" key, then   *
            * press the "Enter" key now.  This message might immediately reappear.  If it *
            * does, press "g" and "Enter" again.                                          *
            *                                                                             *
            *******************************************************************************
            此時WinDbg的命令提示符區(qū)會顯示一段時間*BUSY*(或者其它無效狀態(tài),老本本的WinDbg),這是因?yàn)閃inDbg在尋找調(diào)試符號。


            在你非常熟悉以上過程之后,其實(shí)可以不完全拘泥以上過程的, 比如可以先讓W(xué)indows 2000以調(diào)試選項(xiàng)運(yùn)行起來,然后再運(yùn)行WinDbg。

            最后再介紹幾種常見的失敗情況:

            1)啟動WinDbg,但是出現(xiàn)下圖所示的錯誤信息,Win32 error 2,即指定的文件名找不到,這是因?yàn)樘摂MPC還沒有啟動,還沒有創(chuàng)建這個管道\\.\pipe\com_1, 系統(tǒng)中不存在這樣的文件。應(yīng)該運(yùn)行虛擬PC,哪怕只到啟動選項(xiàng)也可以,便不會再有這個錯誤了。

            posted on 2008-07-23 19:06 葉子 閱讀(1021) 評論(0)  編輯 收藏 引用 所屬分類: 驅(qū)動開發(fā)

            久久亚洲国产中v天仙www| 久久亚洲精品无码播放| 无码人妻久久一区二区三区| 三级三级久久三级久久| 久久久久人妻一区二区三区 | 久久精品国产亚洲一区二区三区| 久久精品视频免费| 欧美性大战久久久久久| 久久久国产精品亚洲一区| 国产精品综合久久第一页| 亚洲国产精品嫩草影院久久| 午夜天堂av天堂久久久| 久久精品亚洲精品国产欧美| 无码国内精品久久人妻蜜桃| yellow中文字幕久久网| 欧美黑人激情性久久| 久久久久亚洲精品中文字幕| 久久久久亚洲AV无码网站| 麻豆国内精品久久久久久| 99国产欧美久久久精品蜜芽 | 久久大香萑太香蕉av| 久久99精品国产99久久| 久久精品国产亚洲AV忘忧草18| 久久青草国产精品一区| 国产成人精品综合久久久久| 久久久久国产亚洲AV麻豆| 99精品久久精品一区二区| 欧美精品九九99久久在观看| 亚洲精品高清久久| 2021少妇久久久久久久久久| 伊人久久大香线蕉av不卡| 国产69精品久久久久观看软件| 国产精品亚洲美女久久久| 狠狠干狠狠久久| 99久久婷婷免费国产综合精品| 久久亚洲AV成人无码电影| 狠狠色婷婷久久一区二区| 亚洲综合精品香蕉久久网| 国内精品九九久久精品 | 精品久久久无码21p发布| 色偷偷91久久综合噜噜噜噜|