Windbg驱动双机调试环境配置
[由于进入了Windows驱动编程领域第一步就是搭建环境,整个环境来说说难也不难,只是比较麻烦。文章有些地方比较繁琐的,而且别人写的比较好,作为引用参考直接贴连接了。如果你按照我写的一步步完成,很快就可以使用Windbg进行双机调试了]
[准备工作]
1:WDK7.1,由于是做Windows Xp下的驱动开发,只能用WDK,如果是WDK8以上的,应该没有这么麻烦。
2:VM虚拟机,并且有XP原版镜像,这个都可以网上下载的。
3:VS2012以上的版本,完全安装好
4:Windbg调试工具
[操作步骤]
一、我们先搭建虚拟机与物理机的通信、调试。
1.安装好虚拟机以及安装好Windows xp操作系统,这个过程很简单,我没有必要说了
2.设置虚拟机与调试机的命名管道通信。
在虚拟机设置里面增加串口串行端口,名字是\\.\pipe\com_1
名字是可以自己取的,后面对应好就行了。注意这里是串行端口2!
3.设置XP调试模式
打开虚拟机进入桌面,“我的电脑”右键->属性->高级->启动恢复设置->编辑,打开boot.ini,也就是一个记事本,里面增加一行
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional Debug" /fastdetect /debugport=com2/baudrate=115200
这里设置后以后,最好选择默认进入调试模式
二、设置Windbg与被调试机的通信
1.下载windbg
在微软官网去下载,microsoft是有专门下载的
2.安装好之后在桌面创建快捷方式,指向windbg.exe
3.修改快捷方式的名字,完成和被调试机的通信。
"C:\Program Files (x86)\Debugging Tools for Windows (x86)\windbg.exe" -b -k com:pipe,port=\\.\pipe\com_1,resets=0
三、加载符号表
这个在windbg中,对symbol path设置,设置成由网上缓存到本地
cache*c:\mysymbol;srv*http://msdl.microsoft.com/download/symbols;
四、成功后的图
五、对VS2012设置,VS作为写代码的工具
具体设置我直接贴链接:http://bbs.pediy.com/showthread.php?t=193020
http://blog.csdn.net/augusdi/article/details/9005121
六、这是最后一步了
VS2012对sys的编译很不好的,经过第五步你可能还是无法编译,很正常,你可以用wdk自带的编译cmd来编译,以后就在vs2012里面写代码,然后用wdk自带的编译器编译成功
具体的设置链接:http://jingyan.baidu.com/article/eae078278528c21fed548551.html
编译出来的文件,sys文件就是我们需要的驱动文件。
[相关文章]
Windbg驱动双机调试环境配置的更多相关文章
- Windbg+VirtualBox双机调试环境配置(XP/Win7/Win10)
一.下载WDK10 https://developer.microsoft.com/zh-cn/windows/hardware/windows-driver-kit 安装Windows驱动程序工具包 ...
- Windbg双机调试环境配置(Windows7/Windows XP+VirtualBox/VMware+WDK7600)
简介:Windbg双机调试内核.驱动 下载软件: 下载Windbg(GRMWDK_EN_7600_1.ISO) 下载VirtualBox 5.2/VMware 12 一.安装WDK,这里要提一点的是D ...
- VS 2013驱动开发 + Windbg + VM双机调试(亲测+详解)
------------VS 2013驱动开发 + Windbg + VM双机调试(亲测+详解)------------- WIN10已上线,随之而来的是VS2015:微软在 "WDK760 ...
- Windebug双机调试环境搭建
Windebug双机调试环境搭建 开始进行内核编程/驱动编程的调试工作是非常烦人的,由于程序运行与内核层不受操作系统的管控,所以容易引起主机蓝屏和崩溃是常有的事.这也就使得内核程序的调试成了一大 ...
- [内核编程] Windebug双机调试环境搭建
Windebug双机调试环境搭建 开始进行内核编程/驱动编程的调试工作是非常烦人的,由于程序运行与内核层不受操作系统的管控,所以容易引起主机蓝屏和崩溃是常有的事.这也就使得内核程序的调试成了一大 ...
- [01] HEVD 双机调试环境搭建
[01] HEVD 双机调试环境搭建 span::selection, .CodeMirror-line > span > span::selection { background: #d ...
- MacOs/Liunx主机搭建windows平台双机调试环境
0x00 前言 本文的主要试用对象是Mac OS/Linux用户,对于想调试windows内核相关的一些东西时,需要搭建双机调试环境的一些记录.另外对于本机是windows的用户也完全试用,windo ...
- linux--->lnmp环境调试环境配置
lnmp环境调试环境配置 nginx是一个web服务器,因此nginx的access日志只有对访问页面的记录,不会有php 的 error log信息. nginx把对php的请求发给php-fpm ...
- windows7内核驱动开发试验环境配置
首先配置环境参照这个: http://blog.csdn.net/qing666888/article/details/50858272 然后在win10里可能由于没有做测试签名因此一直没有成功加载驱 ...
随机推荐
- 《从Lucene到Elasticsearch:全文检索实战》学习笔记三
今天我给大家讲讲倒排索引. 索引是构成搜索引擎的核心技术之一,它在日常生活中是非常常见的,比如我看一本书的时候,我首先会看书的目录,通过目录可以快速定位到具体章节的页码,加快对内容的查询速度. 文档通 ...
- 第四节《Git检出》
使用过Git的朋友们都谁知道git reset可以达到重置效果,不知道的小伙伴们可以看下上一篇博客,重置命令的一个用途就是修改引用的游标指向,实际上在执行重置命令的时候没有使用任何参数对所要重置的分支 ...
- PythonStudy——Python字典底层实现原理 The underlying implementation principle of Python dictionary
在Python中,字典是通过散列表或说哈希表实现的.字典也被称为关联数组,还称为哈希数组等.也就是说,字典也是一个数组,但数组的索引是键经过哈希函数处理后得到的散列值.哈希函数的目的是使键均匀地分布在 ...
- Linux-入门配置jdk,tomcat,mysql
Mysql安装 大家可以在这里下 http://mirrors.163.com/mysql/Downloads/MySQL-5.7/ 1)查看CentOS自带的mysql rpm -qa | grep ...
- 在C#中如何判断线程当前所处的状态
在C#中,线程对象Thread使用ThreadState属性指示线程状态,它是带Flags特性的枚举类型对象. ThreadState 为线程定义了一组所有可能的执行状态.一旦线程被创建,它就至少 ...
- Spring Boot 入门之基础篇(一)
原文地址:Spring Boot 入门之基础篇(一) 博客地址:http://www.extlight.com 一.前言 Spring Boot 是由 Pivotal 团队提供的全新框架,其设计目的是 ...
- opencv简介
Open Source Computer Vision Library.OpenCV是一个基于(开源)发行的跨平台计算机视觉库,可以运行在Linux.Windows和Mac OS操作系统上.它轻量级而 ...
- 虚拟空间,malloc
一,内存空间分布图 所以,mmap其实和堆一样,实际上可以说他们都是动态内存分配,但是严格来说mmap区域并不属于堆区,反而和堆区会争用虚拟地址空间. 这里要提到一个很重要的概念,内存的延迟分配,只有 ...
- Tag (input) should be an empty-element tag.
因为:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.o ...
- property用法
用法一 class Test(object): def __init__(self): self.__Num = 100 def setNum(self,Num): print("---se ...