一、先介绍一下被调试的虚拟机系统环境:

虚拟机:vmware workstation 10.0版本

虚拟机操作系统: Microsoft windows xp professional 2002 service pack3

cpu:2.8GHz,2.64GB内存

二、这个没有直接关系。做个笔记而已。

1.在XP系统中,创建了一个first.c文件

测试代码如下:

#include

void DriverUnload(PDRIVER_OBJECT driver)

{

DbgPrint("first:Our driver is unloading....\r\n");

}

NTSTATUS DriverEntry(PDRIVER_OBJECT driver, PUNICODE_STRING reg_path)

{

DbgPrint("first:Hello,my salary!");

driver->DriverUnload = DriverUnload;

return STATUS_SUCCESS;

}

2.添加无后缀makefile文件

内容如下:

!IF 0

Copyright (C) Microsoft Corporation, 1999-2002

Module Name:

makefile.

Notes:

DO NOT EDIT THIS FILE!!! Edit ./sources. if you want to add a new source

file to this component. This file merely indirects to the real make file

that is shared by all the components of Windows NT (DDK)

!ENDIF

!INCLUDE $(NTMAKEENV)\MAKEFILE.DEF

3.添加一个SOURCES无后缀文件

内容如下:

TARGETNAME=first

TARGETTYPE=DRIVER

SOURCES=first.c

4.windows driver kits---WDK 6001.18001--Build Environments--windows xp---Launch Windows XP x86 Checked Build Environment

5.在控制台窗口输入build命令,生成sys文件。

6.使用SRVINSTW.EXE安装first.sys驱动。(选项为设备驱动)

=============================================================================================

三、开始设置被 调试机(虚拟机和xp系统的设置)

设置中添加一个串行端口:使用命名管道。

设置参数如下:

使用命名的管道:

参数1:\\.\pipe\com_1

参数2:该端是客户端

参数3: 另一端是应用程序

如图:

在虚拟机XP系统中,把隐藏的boot.ini文件调出来,

修改如下:

[boot loader]

timeout=20

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" /noexecute=optin /fastdetect /debug/debugport=com1 /baudrate=115200

其实就是添加最后一行的内容.再重启系统时,就会出现调试选项

虚拟机的设置到此完成.

接下来是调试机(物理机系统):

window 10 专业版 64位

windbg 安装后,复制了一个快捷图标到桌面了。在属性目标中设置了参数:

"D:\Program Files\Debugging Tools for Windows (x64)\windbg.exe" -b -k com:port=\\.\pipe\com_1,baud=115200,pipe

这样就不需要每次去控制台输入命令这么麻烦的操作。

出现了这个很蛋疼的错误。

百度了快半天。能找到的就几个回答。。看了更蛋疼。。

意思就是,可能是已经有其它的com_1管道在。创建的不仅仅是一个com_1.

但是我就这个xp系统有添加串口管道。其它都没有。。

我又重新的开始从头到尾的操作一遍。。windbg也下载了好几个。。都是这么个提示。。

终于在有一次设置管道串口参数的时候。。我忘记了把:该端是服务器 选择。因为它默认就是,该端是服务器。。我直接设置第三个参数了。然后确定。。

选择调试。。

接着运行windbg。。

终于成功了。。。。

这是血与泪的教训。。。

呃。。一直黑屏了。。在kd输入g

继续运行。。

最后总结一下,问题其实就出现在参数设置的时候,"该端是服务器"和"该端是客户端"

<>一书中写到。。请读者随机应变。。随机应变。。。

windbg linux内核调试,windbg调试虚拟机XP系统相关推荐

  1. linux 内核 死锁 检查,一种linux内核自旋锁死锁检测报告系统和方法与流程

    本发明涉及内核死锁检测领域,具体的说是一种linux内核自旋锁死锁检测报告系统和方法. 背景技术: linux内核死锁是长期困扰内核开发人员的问题之一,但自内核引入lockdep调试模块之后,内核死锁 ...

  2. Kali Linux 2016.2发布提供虚拟机以及系统镜像下载

    Kali Linux 2016.2发布提供虚拟机以及系统镜像下载 Kali Linux 2016.2发布提供虚拟机以及系统镜像下载,本次Kali Linux 2016.2提供了五种桌面模式,分别为Gn ...

  3. kali linux 虚拟机iso 下载,Kali Linux 2016.2发布提供虚拟机以及系统镜像下载

    Kali Linux 2016.2发布提供虚拟机以及系统镜像下载 Kali Linux 2016.2发布提供虚拟机以及系统镜像下载,本次Kali Linux 2016.2提供了五种桌面模式,分别为Gn ...

  4. mysql2008安装虚拟机_在虚拟机xp系统中安装SQL Server2008的方法

    许多用户会使用虚拟机安装xp系统来使用,而有时候不想在主机中安装一些软件,那么在虚拟机中安装就是最好的选择,比如有用户想要在虚拟机xp系统中安装SQL Server2008,但是却不知道要怎么操作,现 ...

  5. windbg linux内核调试,使用Windbg调试window内核

    也 许很多人早就知道了,但是我不知道,以前一直抓住softice大腿不放,但是由于在我的Hyber Thread处理器上,Softice实在是运行的太不理想了.故而只能利用WinDbg了.不过听牛人说 ...

  6. Linux内核睡眠唤醒调试

    本文基于RockPI 4A单板Debian系统Linux4.4内核介绍下睡眠唤醒(suspend/resume)的一些调试方法. 一.参数设置 1.关闭串口睡眠 在Linux内核睡眠过程中,会先调用s ...

  7. Linux 内核测试和调试

    自动测试工具 这里列出一些能满足不同需求的测试工具供你选择.本小节只是简单介绍个大概,并不提供详细操作指南. AuToTest AuToTest 是一个全自动测试框架,存在的主要目的就是测试 Linu ...

  8. 如何查看Linux内核输出的调试信息

    第一点需要澄清:我使用的环境是嵌入式Linux,并非桌面版Linux,查看内核输出的调试信息也是为了追踪内核子系统的运行.这可能是一个非常小的知识点,但是还是希望自己记录一些东西,以后也好拾起. 本文 ...

  9. 学做Linux内核,Linux内核学习(3) 最小系统制做2 busybox制做initrd.img和根文件系统...

    busybox制做initrd.img和根文件系统 (一)开发环境介绍 1.使用win7_64的笔记本安装Virtualbox虚拟机,笔记本cpu为i5-2450m.虚拟机上安装Ubuntu16.04 ...

最新文章

  1. 第二章 序列比对——Needleman-Wunsch全局比对
  2. PHP+HTML实现登出界面倒计时效果
  3. Xcode的简单使用
  4. Waymo研发经理:《自动驾驶感知前沿技术介绍》
  5. springboot 整合 mongodb实现 批量更新数据
  6. alt和title的区别与用法
  7. 编程入门指南 v1.4
  8. Java中栈,堆,常量池的简单理解
  9. 平衡二叉树(AVL Tree)
  10. 《Python语言程序设计基础》:第2章:Python程序实例解析:程序练习题
  11. 台达PLC-EH3.铆压机,3轴,Z轴(SMC)电缸下降的距 离用的是位置加扭矩模式,台达PLC MODBUS通讯控制台达A2伺服扭矩
  12. Kepware IOT Gateway Rest server
  13. python控制电机转动_Micropython TurnipBit 旋转按钮控制直流电机转速(儿时记忆中的吊扇)...
  14. vue引入iconfont阿里矢量图库
  15. 记仇表情包在线生成源码
  16. 杰理之低延时无线麦功能支持以下两种组合配置【篇】
  17. 尽管凭借主持人的身份成名,张绍刚先生在内心深处却对这一角色认可度很低
  18. 优课在线 实境英语作业3Unit 11-15
  19. 【第3期】量化大咖来了!揭开量化对冲的神秘面纱
  20. linux运维常用服务器软件整理和介绍

热门文章

  1. 为啥JAVA虚拟机不开发系统_理解Java虚拟机体系结构
  2. flask-sqlalchemy mysql_Flask SQLAlchemy连接到MySQL数据库
  3. a - 数据结构实验之图论一:基于邻接矩阵的广度优先搜索遍历_数据结构--图
  4. surface pro 7 linux,微软 Surface Pro、Studio、Laptop 全线更新
  5. oracle触发和存储过程,Oracle存储过程与触发器
  6. 王道操作系统考研笔记——1.1.6 系统调用
  7. 如何利用echarts图表获取条状图点击名称和值
  8. [react] 在React中如何避免不必要的render?
  9. 前端学习(3267):js中this的指向二
  10. react学习(57)--map赋值