WinDebug 虚拟机

来源:互联网 发布:单片机外部中断程序 编辑:程序博客网 时间:2024/06/05 00:17
 现在一直在做有关Windows驱动开发的工作,驱动开发非常重要的一环是驱动的调试。对于Windebug结合虚拟机的双机驱动调试,其配置还是小有点麻烦的。虽然原先自己配置的时候,都成功了,而且也进行了很多的开发和调试。但某一天再来设置这些东西的时候,却发现出了问题,甚至去网上找的一些资料也没有用。现在把自己调试驱动时的切身体会写下来,一方面自己以后也可以看看,也给广大初入门的朋友做以参考。




一、调试环境的安装


        (1)安装虚拟机(VM)及Windows XP系统


        (2)安装WinDebug


二、配置调试环境


         (1)在WinDebug的快捷方式上添加: -k com:port=\\.\pipe\com_1,baud=115200,pipe。


                 例如我的主 机上 Windebug快捷方式设置以后如下: "C:\Program Files\Debugging Tools


                 for Windows (x86)\windbg.exe" -k com:port=\\.\pipe\com_1,baud=115200,pipe


        (2)在虚拟机中,添加一个串行端口


              点击 "Edit virtual machine settings",添加一个Serial Port,选择"Output to named pipe",然后下一步


              第一框里保持默认的 ""
              第二框里选"This end is the server."
              第三框里选"The other end is an application."
              选中 "Connect at power on"
              然后点击 "Finish然后在新窗口中选中 "Yield CPU on poll"。保存退出。


        (3)启动虚拟机的系统,在其C盘根目录下的boot.ini文件中添加一个系统启动项(用于调试):


               [boot loader]
               timeout=30
               default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
             [operating systems]
              multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP


               Professional" /noexecute=optin /fastdetect
               multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional           


               Debug" /fastdetect /debug /debugport=com1 /baudrate=115200


              这里一定要注意,不要将系统启动项弄错了。[operating systems]下的第一行为原来的系统启动


              下;而2-3行为我们新添加的调试启动项,这在虚拟机系统重新启动后,就可以看到系统新加了一


              个启动项。


         (4)配置Windebug


                然后打开windebug等待连接。进入调试模式,我们可以看到windebug已经与系统连接完毕。


                配置windebug,主要是符号文件一类,通用的方法如下:


                WinDbg->菜单->File->Symbol File Path->,输入如下:


             “C:\MyCodesSymbols; SRV*C:\MyLocalSymbols*http://msdl.microsoft.com/download/symbols"


               (按照这样设置,WinDbg将先从本地文件夹C:\MyCodesSymbols中查找Symbol,如果找不到,则


              自动从MS的Symbol Server上下载Symbols);这里MyCodeSymbols是存放我们编译的驱动程序有


               光的符号文件,通常我们把驱动工程编译完成后(用check版本,否则不能调试的)的如下文件:


               H:\MyDriver\objchk_wxp_x86\i386放入该文件夹下;另外也可以不要C:\MyCodesSymbols文


              件,直接在WinDbg->菜单->File->Symbol File Path->中输入H:\MyDriver\objchk_wxp_x86\i386即


             可,然后选择reload即可。后面就可以进行调试了。
0 0