Windbg+VirtualBox双机调试环境配置(XP/Win7/Win10)
一、下载WDK10
https://developer.microsoft.com/zh-cn/windows/hardware/windows-driver-kit
安装Windows驱动程序工具包(WDK) 10


这里可以直接安装,也可以下载安装包,我选择下载,选择路径,下一步。

下载好之后我们安装WDK

安装好了之后,Windbg就在C:\Program Files (x86)\Windows Kits\10\Debuggers\x64目录下
二、配置Win10虚拟机调试
1.关闭防火墙
"控制面板" -> "系统和安全" -> "Windows防火墙" -> "启动或关闭Windows防火墙" -> "关闭Windows防火墙"
2.目标计算机允许内核调试
管理员权限允许CMD

设置完成之后关闭虚拟机
3.设置Windows 10 虚拟机,设置与Windbg连接的管道串口

4.在虚拟机中测试目标计算机上设置串口调试
管理员权限打开CMD

其中debugport:1,表示选择串口com1
然后重启操作系统,在目标计算机打开CMD命令窗口
输入如下命令可以查看刚才配置的信息

5.在主机中打开Windbg的位置,一般在C:\Program Files (x86)\Windows Kits\10\Debuggers\x64目录下,在桌面创建快捷方式
目标为:"C:\Program Files (x86)\Windows Kits\10\Debuggers\x64\windbg.exe" -y SRV*F:\Study\Symbol\Symbols_Win10_X64*http://msdl.microsoft.com/download/symbols -b -k com:pipe,port=\\.\pipe\com_1,baud=115200,pipe
其中F:\Study\Symbol\Symbols_Win10_X64为本机的符号表路径,符号表下载到本地网址为https://developer.microsoft.com/en-us/windows/hardware/download-symbols
或者进入windbg目录,打开windbg

就可以调试Windows 10内核了

需要注意的是win8.1以上,在进入调试的界面 按 F8 ,关闭强制驱动加载签名 ,否则不能断下来
三、配置Win7虚拟机调试
1. 拷贝当前的配置;
bcdedit /copy {current} /d "Windows 7 Debug"
2. 对新加的启动项,增加调试功能;
bcdedit /debug {之前查询到的标识符GUID} ON
3. 修改调试的设置;
bcdedit /dbgsettings SERIAL DEBUGPORT:2 BAUDRATE:115200
其中2对应着VirtualBox的com2

4. 外层的系统,增加一个Windbg的快捷方式,修改其命令行为(注意安装路径需要和你的本机对应)。
将windbg快捷方式的目标设置为
"C:\Program Files (x86)\Windows Kits\10\Debuggers\x64\windbg.exe" -y SRV*F:\Study\Symbol\Symbols_Win7_X64*http://msdl.microsoft.com/download/symbols -b -k com:pipe,port=\\.\pipe\com_2,baud=115200,pipe
记得:cmd.exe必须使用管理员权限来运行才行,其他设置跟调试XP系统是一样的!

四、配置Win XP虚拟机调试
直接修改c盘下的boot.ini文件,增加debug启动方式
其中debugport=com4为virtualbox设置的串口com4

将Windbg的快捷方式目标改为:
"C:\Program Files (x86)\Windows Kits\10\Debuggers\x64\windbg.exe" -y SRV*F:\Study\Symbol\Symbols_XP3_X86*http://msdl.microsoft.com/download/symbols -b -k com:pipe,port=\\.\pipe\com_4,baud=115200,pipe
Windbg+VirtualBox双机调试环境配置(XP/Win7/Win10)的更多相关文章
- Windbg驱动双机调试环境配置
[由于进入了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 ...
- PySe-005-基础环境配置(Win7)
之前的文章讲述了如何在 MacOX 下配置 Python + Selenium2 的 WebUI测试自动化环境配置,敬请参阅 PySe-001-基础环境配置(MacOX). 此文主要讲述如何配置 Py ...
- C# winform程序免安装.net framework在XP/win7/win10环境运行!(转)
C# winform程序免安装.net framework在XP/win7/win10环境运行! 前文: 首先感谢群里的大神宇内流云 提供的anyexec for windows版本. 经过本人搭 ...
随机推荐
- javascript瀑布流
哇,瀑布流,是的,不错,不错,真的不错,很好玩的样子,于是自己想玩玩啊,来吧,就玩起. 循序渐进,我这里采用原生的js代码来书写.为了方便大家运行代码,我就全部样式和CSS都写在html里面了,当然还 ...
- System.Windows.Forms.PropertyGrid的使用
PropertyGrid 控件简介 .NET 框架 PropertyGrid 控件是 Visual Studio .NET 属性浏览器的核心.PropertyGrid 控件显示对象或类型的属性,并主要 ...
- JavaScript Dom入门
好像代码太杂了,博客园里跑不起来,单独复制到html中本地测试都是没有问题的. JavaScript JavaScript 是属于 web 的语言,它适用于 PC.笔记本电脑.平板电脑和移动电话. J ...
- Java学习笔记11---静态成员变量、静态代码块、成员变量及构造方法的初始化或调用顺序
当创建一个对象时,各种成员变量及构造方法的初始化或调用顺序是怎样的呢? (1).如果类尚未加载,则先初始化静态成员变量和静态代码块,再初始化成员变量,最后调用相应的构造方法: (2).如果类已经加载过 ...
- OwinHost.exe用法
简介 OwinHost.exe是微软提供的自宿主host,如果自己不想写owin的host,可以用这个. 官方对OwinHost的描述为:Provides a stand-alone executab ...
- 【二分图】洛谷P1640连续攻击游戏
题目描述 lxhgww最近迷上了一款游戏,在游戏里,他拥有很多的装备,每种装备都有2个属性,这些属性的值用[1,10000]之间的数表示.当他使用某种装备时,他只能使用该装备的某一个属性.并且每种装备 ...
- Twisted使用和scrapy源码剖析
1.Twisted是用Python实现的基于事件驱动的网络引擎框架. 事件驱动编程是一种编程范式,这里程序的执行流由外部事件来决定.它的特点是包含一个事件循环,当外部事件发生时使用回调机制来触发相应的 ...
- 【读书笔记】【深入理解ES6】#5-解构:使数据访问更便捷
ES6为对象和数组都添加了解构功能,将数据解构打散的过程变得更简单,可以从打散后更小的部分中获取所需信息. 对象解构 let node = { type: "Identifier" ...
- 手把手教你构建 Kubernetes 1.8 + Flannel 网络(一)
一.环境说明 操作系统:CentOS7 Kubernetes版本:v1.8.4 Docker版本:v17.06-ce Flannel 版本: flannel-v0.9.1 二.Ntp 服务器配置 ...
- Java想要学到精通,这几点一定要掌握
时代更新换代速度如此之快,尤其是深处互联网行业的java程序员,技术更需要不断更新,只有及时充电,才能不被市场淘汰.千锋Java培训老师今天为大家分享Java程序员学习的6个小技巧. 1.书籍永远是知 ...