VMware+Windbg+Win7 内核驱动调试 ----(环境搭建)
来源:互联网 发布:股票佣金万2怎么算法 编辑:程序博客网 时间:2024/04/27 23:06
本文主要记录个人安装VMware+Windbg+Win7内核驱动调试的笔记。
一、安装环境
主机: Win7 sp1 x64
虚拟机: VMware 8
虚拟机OS: Win7 sp1 x32
Windbg: 6.12
二、虚拟机配置
1.打开相应 vmware 虚拟机上的 “Virtaul Machine Settings“
2.为了省事,这里将Printer 删除,为了让新配置的Serial Port 为1(如果不删除Printer,后面配出来的会是SerialPort =2,这还需要在虚拟机中再命令设置)
4.”Next”,在 “Serial Port” 里选中 “Output to named pipe”
5.”next”,然后如下设置:
6.确定之后,回到如下界面,在右脚”Virtual Machine Settings” 页面时,在“I/O Mode” 里选中“Yield CPU on poll“
7. Ok之后就设定完毕了。
三、Windbg设置
安装之后,设置一个桌面快捷方式,然后,右键->属性,在Target中的引号后面添加如下:
-b -k com:port=\\.\pipe\com_1,baud=115200,pipe
-b:初始断点 -k:内核调试 com:port:命名管道 baud:波特率 pipe:管道
四、虚拟机OS设置
1、在 bootmgr 中下断点
在 vista 及后续的 windows 已经取消了 ntldr 模块管理引导,转而以 bootmgr 模块管理引导系统。
在我的 windows 7中要设定在哪个部分进行调试。
windws 7 可调试部分有 4 个:bootmgr 模块、winload 模块、WinResume 模块以及 windows 内核模块 Nt 模块
可以在上述的 4 个模块下断点进行调式
(1) 以管理员身份运行“命令提示符”
(2) 在“命令提示符”窗口中,输入以下命令:
bcdedit /set {bootmgr} bootdebug on
bcdedit /set {bootmgr} debugtype serial
bcdedit /set {bootmgr} debugport 1
bcdedit /set {bootmgr} baudrate 115200
注意一个细节,bcdedit /set {bootmgr} debugport 1这一行最后的1 对应Serial Port 1,
所以如果是Serial Port 2 则设置为bcdedit /set {bootmgr} debugport 2 ,否则连不上。
在提示命令成功后,这样就在 windows7 中的 bootmgr 模块建立起可调试的机制。
在运行 windows7 时到达 bootmgr 时就停止加载,vmware 中是黑屏,它正等待 serial port 的响应,
运行 windbg 后,windbg 就和 windws 7 中的 bootmgr 建立起联线了
下面是我的 windbg 在 bootmgr 模式下断点的响应信息:
WARNING: Whitespace at start of path element
Waiting to reconnect...
BD: Boot Debugger Initialized
Connected to Windows Boot Debugger 7601 x86 compatible target at (Thu Jul 24 09:12:47.771 2014 (UTC + 8:00)), ptr64 FALSE
Kernel Debugger connection established. (Initial Breakpoint requested)
WARNING: Whitespace at start of path element
Symbol search path is: e:\localsymbols; SRV*e:\symbols*http://msdl.microsoft.com/download/symbols
Executable search path is:
Windows Boot Debugger Kernel Version 7601 UP Free x86 compatible
Machine Name:
Primary image base = 0x00400000 Loaded module list = 0x00491b80
System Uptime: not available
WARNING: Whitespace at start of path element
Break instruction exception - code 80000003 (first chance)
bootmgr!RtlpBreakWithStatusInstruction:
00443914 cc int 3
2、在 winload 模块下断点
同样在“命令提示符”中使用命令
bcdedit /enum
这条命令显示当前可用模块的 GUID
3、在内核模块 Nt 模块下断点
WIN+R 打开运行输入msconfig打开启动配置对话框设置调试,请按照图片设置
至此虚拟机中的操作系统也设置好了,重启后生效。
五.测试WinDbg+VMware是否连接成功
先打开虚拟机操作系统,然后启动WinDbg,出现下列信息则说明连接成功,此时虚拟机系统会停止(可能是黑屏),WinDbg会在系统启动上自动下int 3,这时按F5或键入g回车,系统即可正常启动
至此WinDbg+VMWare+Win7 调试配置就已设置完成。
博客参考:http://blog.csdn.net/iceamber2012/article/details/17963649
- VMware+Windbg+Win7 内核驱动调试 ----(环境搭建)
- 安装VMware+Windbg+Win7内核驱动调试
- Win7+WinDbg+VMware+WinXP调试环境搭建
- windbg vmware win7联机调试环境搭建
- WinDbg+VMware windows内核调试环境搭建
- VMWare+WinDbg搭建(驱动)调试环境
- VMWare+WinDbg搭建驱动调试环境
- windbg+vmware搭建驱动联机调试环境
- win7驱动开发 VMWare+Windbg的虚拟机双机内核调试环境(VS2008+DDK)
- Win7(WinDbg) + VMware(Win7) 双机调试环境搭建之一
- Win7(WinDbg) + VMware(Win7) 双机调试环境搭建之二
- Win7(WinDbg) + VMware(Win7) 双机调试环境搭建之三
- Win7(WinDbg) + VMware(Win7) 双机调试环境搭建之四
- Win7(WinDbg) + VMware(Win7) 双机调试环境搭建之五
- windows内核驱动之环境搭建-双机调试 wdk7600+win7/xp+windbg
- VMware+WinDbg联合调试Windows驱动环境搭建
- WinDbg+VMware调试环境搭建
- win7(主机)+win7虚拟机(vmware,被调试机)+windbg配置内核驱动调试
- 读《代码大全》第2版 第 9 章 伪代码编程过程
- 《凤凰项目 一个IT运维的故事传奇》读后感
- Hibernate5.2
- 高峰论坛:高级招聘面试技巧(广州站)
- [内核编程] VS2013 WDK8.1 开发,调试驱动(xp win7 亲测)
- VMware+Windbg+Win7 内核驱动调试 ----(环境搭建)
- Spring事务管理
- win系统下无法ping通linux,或是linux无法ping通win系统
- 桥接模式——多层分支也不怕
- sql:ORA-00979:不是GROUP BY 表达式
- java基础_day01
- Struts2 2.5.2的套路
- uva 10327 相邻数字交换排序法
- 不确定性学习(2)