一、下载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)的更多相关文章

  1. Windbg驱动双机调试环境配置

    [由于进入了Windows驱动编程领域第一步就是搭建环境,整个环境来说说难也不难,只是比较麻烦.文章有些地方比较繁琐的,而且别人写的比较好,作为引用参考直接贴连接了.如果你按照我写的一步步完成,很快就 ...

  2. Windbg双机调试环境配置(Windows7/Windows XP+VirtualBox/VMware+WDK7600)

    简介:Windbg双机调试内核.驱动 下载软件: 下载Windbg(GRMWDK_EN_7600_1.ISO) 下载VirtualBox 5.2/VMware 12 一.安装WDK,这里要提一点的是D ...

  3. VS 2013驱动开发 + Windbg + VM双机调试(亲测+详解)

    ------------VS 2013驱动开发 + Windbg + VM双机调试(亲测+详解)------------- WIN10已上线,随之而来的是VS2015:微软在 "WDK760 ...

  4. Windebug双机调试环境搭建

    Windebug双机调试环境搭建    开始进行内核编程/驱动编程的调试工作是非常烦人的,由于程序运行与内核层不受操作系统的管控,所以容易引起主机蓝屏和崩溃是常有的事.这也就使得内核程序的调试成了一大 ...

  5. [内核编程] Windebug双机调试环境搭建

    Windebug双机调试环境搭建    开始进行内核编程/驱动编程的调试工作是非常烦人的,由于程序运行与内核层不受操作系统的管控,所以容易引起主机蓝屏和崩溃是常有的事.这也就使得内核程序的调试成了一大 ...

  6. [01] HEVD 双机调试环境搭建

    [01] HEVD 双机调试环境搭建 span::selection, .CodeMirror-line > span > span::selection { background: #d ...

  7. MacOs/Liunx主机搭建windows平台双机调试环境

    0x00 前言 本文的主要试用对象是Mac OS/Linux用户,对于想调试windows内核相关的一些东西时,需要搭建双机调试环境的一些记录.另外对于本机是windows的用户也完全试用,windo ...

  8. PySe-005-基础环境配置(Win7)

    之前的文章讲述了如何在 MacOX 下配置 Python + Selenium2 的 WebUI测试自动化环境配置,敬请参阅 PySe-001-基础环境配置(MacOX). 此文主要讲述如何配置 Py ...

  9. C# winform程序免安装.net framework在XP/win7/win10环境运行!(转)

    C# winform程序免安装.net framework在XP/win7/win10环境运行!   前文: 首先感谢群里的大神宇内流云 提供的anyexec for windows版本. 经过本人搭 ...

随机推荐

  1. python正则详解

    正则表达式概述 正则表达式,又称正规表示式.正规表示法.正规表达式.规则表达式.常规表示法(英语:Regular Expression,在代码中常简写为regex.regexp或RE),是计算机科学的 ...

  2. 基于IndexedDB实现简单文件系统

    现在的indexedDB已经有几个成熟的库了,比如西面这几个,任何一个都是非常出色的. 用别人的东西好处是上手快,看文档就好,要是文档不太好,那就有点尴尬了. dexie.js :A Minimali ...

  3. 原生JavaScript如何解决父元素查找指定类名的子元素的问题

    问题:已知一个元素的类名是right并且这个元素的祖先元素的类名为parent,现在想通过原生JavaScript获得这个类名为right的元素. 我的思路:利用递归.先判断已知的祖先元素(题中的pa ...

  4. KMP算法讲解

    老规矩,讲算法前,先说一道小问题吧 给你一个长串和短串,求短串在长串中出现的次数和位置. 设长串长度为len1,短串长度为len2. 如果len1*len2<=108,那就很简单了,直接暴力枚举 ...

  5. [笔记]《JavaScript高级程序设计》- JavaScript简介

    JavaScript实现 虽然JavaScript和ECMAScript通常都被人们用来表达相同的含义,但JavaScript的含义却比ECMA-262中规定的要多得多.一个完整的JavaScript ...

  6. better-scroll不能滚动之 滚动监听-左右联动

    滚动监听 better-scroll 无法滚动的分析,直接翻到最后,看问题汇总,希望能帮助你解决. 借用一下人家这个好看的项目图片,做一个解释.左边的内容会跟右边的内容一起关联,点击左边的菜单,右边会 ...

  7. Android基础_BroadcastReceiver

    一:什么是BroadcastReceiver Broadcast(广播)是一种广泛运用于在应用程序之间一步传播消息的机制系统消息Android系统发出的,电池不足.来电信息等自定义消息第三方应用发出的 ...

  8. vue.js之路由

    Vue.js本身只提供数据与视图绑定及组件化等功能,如果想用它来开发一个完整的SPA(单页面应用),我们就还需要使用一些Vue.js的插件.今天我学习一种叫做Vue-router的插件,用来提供路由管 ...

  9. python函数定义

    刚学用Python的时候,特别是看一些库的源码时,经常会看到func(*args, **kwargs)这样的函数定义,这个*和**让人有点费解.其实只要把函数参数定义搞清楚了,就不难理解了. 先说说函 ...

  10. 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 ...