winDbg + VMware + window 双机联调环境搭建
这里简单的介绍一下内核开发双机联调的搭建环境,尽管网上有很多类似的文章,但看了很多总是不太舒服,觉得不太明白,所以自己实践一下总结一篇。下面就拿我的环境简单介绍,希望别人可以看懂。
准备工具:
装虚拟机VMware,
安装被调试机OS(笔者的是win7 x86)
笔者的真机OS版本为 win8.1 x64(其他真机调试也是可行的)
安装完以后接下来就进行配置了,其实配置并不难,步骤开始了:
VMware win7配置:
1:点击"编辑虚拟机设置",进入虚拟机设置对话框
2:切换到“硬件”选项卡中,单击添加,目的是要添加一个串行端口,在新出现的对话框选择“串行端口”,单击下一步。

3:选择“输出到命名管道”,单击“下一步”。
4:在命名管道中已经有默认填好的管道名了,这里要注意了,有的会出现com_2,这是因为虚拟机里有打印机驱动或者其他驱动占用了com_1。不管是com多少,以后的管道命名都要一致。还要注意下面的三个设置,“该端是服务器”,“另一端是应用程序”,勾选“启动时链接”。

5:单击“完成”,现在可以选中“串行端口”,查看右边的配置,是否正确。
最后勾选“轮询时主动放弃CPU”,单击“确定”。此时已完成了开机前的设置了。开机后还要进行设置。
6:启动VMware中的
win7,在运行中启动msconfig程序,切换到“引导”选项卡,选择“高级选项”,接下来勾选“调试”,调试端口和波特率默认是勾选的,如果没有勾选,则勾选。注意调试端口要和先前设置的一样。单击“确定“后就设置好了。先不要启动系统,等设置好真机后再启动。
这里补充一下:有些资料设置到这一步的时候要修改系统盘下的 Boot.ini文件,由于vista以后的系统就不存在Boot.ini 文件了,况且xp现在已经很少有人用了,所以这种方法已行不通了。
不过还可以通过在命令行下设置,这种方法笔者也没有设置过。该命令是设置bcdedit的相关参数,读者可以自行研究。
设置真机
真机设置比较简单,只是设置windbg的启动参数。
1:首先设置windbg的快捷方式,由于被调试机为win7 x86,所以要设置x86版的windbg快捷方式
2:查看快捷方式的属性 ,在目标中windb.exe 后面添加“-b -k com:port=\\.\pipe\com_1,baud=115200,pipe”参数,
3:选择“确定”就设置好了。
所有的设置都已完成了,现在就可以调试了内核了。
启动VMware中的别调试机win7 x86
启动windbg,当在windbg中看到如下字面时,表明已正确通过管道连接
这里一定要先启动VMware,再启动windbg,因为当初的设置环境是:VMware是服务器,windbg为应用程序。

当连接通以后就可以进行更深入的调试了,输入“g”命令后让VMware继续启动,还可以输入“lm”命令查看内核加载的模块儿。等等。。。。。。通往驱动的大门已经打开,写下来该怎么做就要进一步的学习了。
winDbg + VMware + window 双机联调环境搭建的更多相关文章
- Windebug双机调试环境搭建
Windebug双机调试环境搭建 开始进行内核编程/驱动编程的调试工作是非常烦人的,由于程序运行与内核层不受操作系统的管控,所以容易引起主机蓝屏和崩溃是常有的事.这也就使得内核程序的调试成了一大 ...
- [内核编程] Windebug双机调试环境搭建
Windebug双机调试环境搭建 开始进行内核编程/驱动编程的调试工作是非常烦人的,由于程序运行与内核层不受操作系统的管控,所以容易引起主机蓝屏和崩溃是常有的事.这也就使得内核程序的调试成了一大 ...
- 【转】android 最新 NDK r8 在window下开发环境搭建 安装配置与使用 详细图文讲解,完整实际配置过程记录(原创)
原文网址:http://www.cnblogs.com/zdz8207/archive/2012/11/27/android-ndk-install.html android 最新 NDK r8 在w ...
- android 最新 NDK r8 在window下开发环境搭建 安装配置与使用 详细图文讲解,完整实际配置过程记录(原创)
android 最新 NDK r8 在window下开发环境搭建 安装配置与使用 详细图文讲解,完整实际配置过程记录(原创) 一直想搞NDK开发却一直给其他事情耽搁了,参考了些网上的资料今天终于把 ...
- hadoop3.1.0 window win7 基础环境搭建
https://blog.csdn.net/wsh596823919/article/details/80774805 hadoop3.1.0 window win7 基础环境搭建 前言:在windo ...
- Android NDK r8 Cygwin CDT 在window下开发环境搭建 安装配置与使用 具体图文解说
版权声明:本博客全部文章均为原创.欢迎交流.欢迎转载:转载请勿篡改内容,而且注明出处,谢谢! https://blog.csdn.net/waldmer/article/details/3272500 ...
- [01] HEVD 双机调试环境搭建
[01] HEVD 双机调试环境搭建 span::selection, .CodeMirror-line > span > span::selection { background: #d ...
- vmware安装CentOS开发环境搭建
CentOS开发环境搭建 一.安装系统 新建虚拟机 2.选择“自定义(高级)”,并点击[下一步] 3.选择虚拟机硬件兼容性,并点击[下一步] 4.选择“稍后安装操作系统”,并点击[下一步] 5.选 ...
- React Native在window下的环境搭建(二):创建新项目
React Native创建一个新项目: react-native init TestAndroidApp 提示:你可以使用--version参数(注意是两个杠)创建指定版本的项目.例如react-n ...
随机推荐
- 【JZOJ4474】【luoguP4071】排列计数
description 求有多少种长度为 n 的序列 A,满足以下条件: (1)1 ~ n 这 n 个数在序列中各出现了一次 (2)若第 i 个数 A[i] 的值为 i,则称 i 是稳定的.序列恰好有 ...
- 阿里第一颗芯片问世,平头哥发布最强AI芯片含光800
阿里巴巴第一颗自研芯片正式问世.9月25日的杭州云栖大会上,达摩院院长张建锋现场展示了这款全球最强的AI芯片——含光800.在业界标准的ResNet-50测试中,含光800推理性能达到78563 IP ...
- Divide by Zero 2018 and Codeforces Round #474 (Div. 1 + Div. 2, combined)G - Bandit Blues
题意:求满足条件的排列,1:从左往右会遇到a个比当前数大的数,(每次遇到更大的数会更换当前数)2.从右往左会遇到b个比当前数大的数. 题解:1-n的排列,n肯定是从左往右和从右往左的最后一个数. 考虑 ...
- VS2010-MFC(常用控件:按钮控件Button、Radio Button和Check Box)
转自:http://www.jizhuomi.com/software/182.html 按钮控件简介 按钮控件包括命令按钮(Button).单选按钮(Radio Button)和复选框(Check ...
- HttpURLConnection与HttpClient浅析AAAA
. GET请求与POST请求 HTTP协议是现在Internet上使用得最多.最重要的协议了,越来越多的Java应用程序需要直接通过HTTP协议来访问网络资源. 在介绍HttpURLConnectio ...
- Spring事物管理机制简单学习
首先spring并不直接管理事物,而是提供了多种事物管理器,他们将事务管理的职责委托给Hibernate或者JTA等持久化机制所提供的相关平台框架的事务来实现. Spring管理事物的接口是org.s ...
- <每日一题>题目30:已知一个长度n的无序列表,元素均是数字,要求把所有间隔为d的组合找出来
def select_d(list,d): # list = sorted(list) sum = {} for i in list: if i+d in list: sum[i] = i+d ret ...
- WebException: The underlying connection was closed: Could not establish trust relationship for the SSL/TLS secure channel
关于这个异常的问题网上有很多的解决方案. 最为靠谱的有: http://www.cnblogs.com/hjf1223/archive/2007/03/14/674502.html(若因为链接而导致不 ...
- 移植 TinyLogin
下载 从 http://tinylogin.busybox.net/downloads/tinylogin1.4.tar.bz2下载 tinylogin1.4 到/tmp 目录当中,并解压. 修改 ...
- spring:AOP面向切面编程02
参考: https://blog.csdn.net/jeffleo/article/details/54136904 一.AOP的核心概念AOP(Aspect Oriented Programming ...