驱动开发 - WDK 调试及 SVN 环境搭建
由于从公司辞职了,所以以前在公司里搭建的驱动开发环境也就 Game Over 了,
同样由于那环境是很久以前搭建的,自己也有很多记不清楚的地方了,
而且其中还是有很多需要注意的地方的,所以在这里顺便做一个环境搭建的总结,
以后再要用的时候也会很方便的。
WDK 调试环境搭建:
安装 WDK:
自然首先是安装 WDK 了,这个好办,直接到官网上下载,然后安装就 OK 了,
注意的是,在安装中最好是选择安装全部,并且最好是安装在 C 盘下。
设置调试环境:
这个其实也好办,就是使用 WinDbg 来调试虚拟机或者通过串口线可以使用 WinDbg 来调试另外一台 PC 。
其中呢,如果你机器还算好,可以同时跑的起几个 Visual Studio + 虚拟机的话,那就没必要使用 2 台 PC 。
但是如果你机器不咋的的话,像我自己家里的这种几年前的古董,跑个虚拟机就卡的跟什么似的的话,
那最好是准备 2 台 PC ,不然调试的时候会让人抓狂的。还有值得一提的是,在虚拟机中调试的话,
实质上,是虚拟机通过命名管道来虚拟出一个串口,所以其速度和真实的使用两台 PC 通过串口调试是有区别的。
WinDbg 调试虚拟机:
设置虚拟机:
首先在虚拟机中安装 XP ,然后修改该 XP 系统的根目录下的 BOOT.INI 文件
(该文件默认是隐藏的,并且其属性为只读,所以需要先去掉只读属性)。
比如本来的 INI 文件为:

那么需要将该 INI 文件修改为如下:

上面的最后加的这一句表示我们加载的 Windows 内核的调试端口指定为 Com4 ,并且设置波特率为 115200 。
在这里设置好 BOOT.INI 文件后,我们便需要设置虚拟机中的 XP 了,
实际上是虚拟机通过命名管道来像我们的 PC 虚拟出一个串口。
具体设置详见插图:


(注意下面的 com_4 ,这个 com_4 和我们在 BOOT.INI 文件中的设置是相对应的)

设置 WinDbg:
再提一点,可以通过设置 WinDbg 的启动参数来确保 WinDbg 能够调试虚拟机。
通过设置如下的启动参数可以使得 WinDbg 调试串口 \\.\pipe\com_4 。
C:\WinDDK\Debuggers\windbg.exe -b -k com:port=\\.\pipe\com_4,baud=115200,pipe

WinDbg 调试另外一台 PC:
要使用 WinDbg 来调试另外一台 PC 的话,至少得准备 2 台 PC 吧,呵呵。
在这里将装有 WDK 和 WinDbg 成为主机,而将另外一台 PC 称之为客户机吧。
设置客户机:
同样是修改 BOOT.INI 文件,这一步和上面的是一模一样的。
比如将 BOOT.INI 文件中的调试端口设置为使用 com_4 进行调试。
设置 WinDbg:
C:\WinDDK\Debuggers\windbg.exe -b -k com:port=\\.\com1,baud=115200

http://www.cnblogs.com/BoyXiao/archive/2011/05/06/2038578.html
驱动开发 - WDK 调试及 SVN 环境搭建的更多相关文章
- windows phone 8 开发系列(一)环境搭建
一:前奏说明 本人一名普通的neter,对新玩意有点小兴趣,之前wp7出来的时候,折腾学习过点wp7开发,后来也没怎么用到(主要对微软抛弃wp7的行为比较不爽),现在wp8已经出来一段时间了,市场上也 ...
- 【ARM-Linux开发】在win下开发的eclipse+yougatoo+jlink环境搭建
在win下开发的eclipse+yougatoo+jlink环境搭建 一 工具的安装 第一步:安装gcc编译工具 yagarto-bu-2.21_gcc-4.6.2-c-C++_nl-1.19.0_g ...
- Windows7下驱动开发与调试体系构建——0.概述
本文集内容为windows7x64下驱动开发与调试体系构建,内容目录如下: 1.驱动开发的环境准备 2.R3与R0的通信示例 3.自建调试体系概述 4.在x64下使用汇编代码 5.实战反调试标记位(N ...
- 最简单的SVN环境搭建过程
本文简单描述最简单的SVN环境搭建过程 搭建环境:windows (个人验证了windows2003,windows xp) 使用软件:Setup-Subversion-1.6.17 //Serve ...
- arcgis api for flex 开发入门(一)环境搭建
http://www.cnblogs.com/wenjl520/archive/2009/06/02/1494514.html arcgis api for flex 开发入门(一)环境搭建arcgi ...
- Android开发使用控件入门--环境搭建
Android开发使用控件入门--环境搭建 软件名称(,梦,,想.CAD ,控件) 1. 环境搭建: 3 1.1. 安装Eclipse 3 1.2. 下载JDK 3 1.3. 下载Android S ...
- 一.JSP开发的工具下载与环境搭建
JSP技术的强势: (1)一次编写,到处运行.在这一点上Java比PHP更出色,除了系统之外,代码不用做任何更改. (2)系统的多平台支持.基本上可以在所有平台上的任意环境中开发,在任意环境中进行系统 ...
- 行为驱动:Cucumber + Selenium + Java(一) - 环境搭建
1.1 什么是行为驱动测试 说起行为驱动,相信很多人听说过. 行为驱动开发-BDD(Behavior Driven Development)是一个诞生于2003年的软件开发理念.其关键思想在于通过与利 ...
- 跨平台开发之阿里Weex框架环境搭建(一)
转载自:http://www.cnblogs.com/fozero/p/5995122.html 一.介绍 Weex是阿里今年6月份推出的跨平台解决方案,6月底正式开源.官网 https://alib ...
随机推荐
- sql 理解视图
可以看作是定义在sqlserver上的虚拟的表,本身并不存储数据,仅仅存储一个select语句和涉及的表的引用 通过视图,客户端不再需要知道底层表结构和其之间的关系,视图提供了一个统一访问数据的接口 ...
- SpringMVC学习记录
1E)Spring MVC框架 ①Jar包结构: docs+libs+schema. 版本区别:核心包,源码包. SpringMVC文档学习: 学习三步骤: 1)是什么? 开源框架 2)做什么? IO ...
- aix 计算性内存和文件内存
经过有客户问AIX topas中内存(memory)一项显示的数值含义: MEMORY Real,MB 4096 % Comp 68.9 % Noncomp 22.6 % Clie ...
- selenium2.0处理case实例(二)
本文通过具体代码处理过程, 来展示selenium中一些比较不常用的类的用法 1.javascriptExcutor,通过将driver强转成JavascriptExecutor类型, 调用execu ...
- Android系统简介(上):历史渊源
上个月,看到微信的一系列文章,讲到Linux的鼻祖-李纳斯的传记<Just for Fun>, 其人神乎其能, 其人生过程非常有趣,值得每个程序员细细品味. 而实际上,对我而已,虽然做软件 ...
- [.Net MVC] 过滤器以及异常处理
项目:后台管理平台 意义:程序发布后,不应该对用户显示因程序出错和崩溃而出现的错误信息,采用统一友好的错误页面,并将错误信息记录到日志中供管理人员查看. 一.过滤器Filter Filter(筛选器) ...
- C# 调用load事件
在一个函数或者事件中调用另外的事件,例如调用Load事件 private void EventForm_Load(object sender, EventArgs e) { //相关内容 } priv ...
- 国内IT技术博客对比
今天我想就自己对用了国内几个IT行业领先的博客做一个心得体会的总结: 我总共是用了三个,第一个是新浪,第二个是CSDN,第三个是博客园: 当然期间有自己搭建过wordpress,也用了一段时间,但是感 ...
- Unix/Linux之命令备忘录
ps:是显示瞬间进程的状态,并不动态连续 kill:用于杀死进程或者给进程发送信号 // 在Linux下查看所有java进程命令 ps -ef | grep java: // 停止所有java进程命 ...
- Linux CPU亲缘性详解
前言 在淘宝开源自己基于nginx打造的tegine服务器的时候,有这么一项特性引起了笔者的兴趣.“自动根据CPU数目设置进程个数和绑定CPU亲缘性”.当时笔者对CPU亲缘性没有任何概念,当时作者只是 ...