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版本. 经过本人搭 ...
随机推荐
- python正则详解
正则表达式概述 正则表达式,又称正规表示式.正规表示法.正规表达式.规则表达式.常规表示法(英语:Regular Expression,在代码中常简写为regex.regexp或RE),是计算机科学的 ...
- 基于IndexedDB实现简单文件系统
现在的indexedDB已经有几个成熟的库了,比如西面这几个,任何一个都是非常出色的. 用别人的东西好处是上手快,看文档就好,要是文档不太好,那就有点尴尬了. dexie.js :A Minimali ...
- 原生JavaScript如何解决父元素查找指定类名的子元素的问题
问题:已知一个元素的类名是right并且这个元素的祖先元素的类名为parent,现在想通过原生JavaScript获得这个类名为right的元素. 我的思路:利用递归.先判断已知的祖先元素(题中的pa ...
- KMP算法讲解
老规矩,讲算法前,先说一道小问题吧 给你一个长串和短串,求短串在长串中出现的次数和位置. 设长串长度为len1,短串长度为len2. 如果len1*len2<=108,那就很简单了,直接暴力枚举 ...
- [笔记]《JavaScript高级程序设计》- JavaScript简介
JavaScript实现 虽然JavaScript和ECMAScript通常都被人们用来表达相同的含义,但JavaScript的含义却比ECMA-262中规定的要多得多.一个完整的JavaScript ...
- better-scroll不能滚动之 滚动监听-左右联动
滚动监听 better-scroll 无法滚动的分析,直接翻到最后,看问题汇总,希望能帮助你解决. 借用一下人家这个好看的项目图片,做一个解释.左边的内容会跟右边的内容一起关联,点击左边的菜单,右边会 ...
- Android基础_BroadcastReceiver
一:什么是BroadcastReceiver Broadcast(广播)是一种广泛运用于在应用程序之间一步传播消息的机制系统消息Android系统发出的,电池不足.来电信息等自定义消息第三方应用发出的 ...
- vue.js之路由
Vue.js本身只提供数据与视图绑定及组件化等功能,如果想用它来开发一个完整的SPA(单页面应用),我们就还需要使用一些Vue.js的插件.今天我学习一种叫做Vue-router的插件,用来提供路由管 ...
- python函数定义
刚学用Python的时候,特别是看一些库的源码时,经常会看到func(*args, **kwargs)这样的函数定义,这个*和**让人有点费解.其实只要把函数参数定义搞清楚了,就不难理解了. 先说说函 ...
- HDU 1847 Good Luck in CET-4 Everybody!(规律,博弈)
Good Luck in CET-4 Everybody! Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K ...