准备

下载vmware,安装需要调试的版本的操作系统,虚拟机-》设置-》网络适配器选择NAT即可,这个时候虽然虚拟机和电脑的IP不一致,但是也是可以ping通的,注意如果ping不通,需要关闭防火墙

网络调试前置条件

运行调试器的计算机称为主机,被调试的计算机称为目标计算机。

  1. 主机必须运行Windows XP或更高版本,

  1. 目标计算机必须运行Windows 8或更高版本。

  1. 主机可以使用任何网络适配器,但目标计算机必须使用Windows调试工具支持的网络适配器。

与其他类型的电缆相比,通过网络进行调试具有以下优点。

  • 主机和目标计算机可以在本地网络的任何位置。

  • 从一台主机上调试多台目标计算机很容易。

  • 网线价格便宜,而且很容易买到。

  • 对于任何两台计算机,它们都有以太网适配器。它们都有串行端口或1394端口的可能性较小。

操作步骤

确定主机的IP地址

使用以下过程之一确定主机的IP地址。

  • 在主机上,打开命令提示窗口并输入以下命令: ipconfig
    记下要用于调试的网络适配器的IPv4地址。

  • 在目标计算机上(安装调试器的机器上),打开命令提示窗口并输入以下命令,其中host name是主机IP(被调试的机器):ping HostName,这一步是验证通讯是不是正确

选择网络调试端口

选择将用于主机和目标计算机上调试的端口号。您可以选择49152到65535之间的任意数字。您选择的端口将被运行在主机上的调试器以独占访问方式打开。请注意选择主机上运行的任何其他应用程序都不使用的端口号。 可以用于网络调试的端口号的范围可能受到公司网络策略的限制。无法从主机上分辨出限制是什么。要确定公司的策略是否限制可用于网络调试的端口范围,请与网络管理员联系。如果将多台目标计算机连接到一台主机,则每个连接都必须具有唯一的端口号。例如,如果将100台目标计算机连接到一台主机,则可以将端口50000分配给第一个连接,将端口50001分配给第二个连接,将端口50002分配给第三个连接,依此类推。不同的主机可以使用相同范围的端口(50000到50099)连接到另外100台目标计算机。

设置目标计算机(被调试的机器)

1、验证目标计算机是否具有受支持的网络适配器。

2、使用标准的Cat5或更好的网线将支持的适配器连接到网络集线器或交换机。不要使用交叉电缆,也不要在集线器或交换机中使用交叉端口。

3、在提升的命令提示窗口中(cmd以管理员运行),输入以下命令,其中w.x.y.z是主机的IP地址,n是您选择的端口号:

bcdedit /debug on

bcdedit /dbgsettings net hostip:w.x.y.z port:n

4、bcdedit 将显示自动生成的密钥。复制密钥并将其存储在可移动存储设备(如USB闪存驱动器)上。在主机上启动调试会话时,需要密钥。强烈建议您使用自动生成的密钥。但是,您可以创建自己的密钥,如后面“创建自己的密钥”部分中所述。

5、如果目标计算机中有多个网络适配器,请使用设备管理器确定要用于调试的适配器的PCI总线、设备和函数号。然后在提升的命令提示窗口中,输入以下命令,其中b、d和f是适配器的总线号、设备号和功能号:

bcdedit /set "{dbgsettings}" busparams b.d.f

6、重启计算机

如果目标计算机位于扩展底座中,并且已为扩展底座中的网络适配器启用网络调试,请不要从扩展底座中删除计算机。如果需要从扩展底座中删除目标计算机,请先禁用内核调试。要在目标计算机上禁用内核调试,请以管理员身份打开命令提示窗口,然后输入命令bcdedit/debug off。重新启动目标计算机。

设置主机(调试器所在的机器)

使用标准Cat5(或更高级别)网线将主机的网络适配器连接到网络集线器或交换机。不要使用交叉电缆,也不要在集线器或交换机中使用交叉端口。

启动调试会话

在主机上,打开windbg。

在“文件”菜单上,选择“内核调试”。

在“内核调试”对话框中,打开“网络”选项卡。

输入端口号和密钥。

单击“确定”。

您还可以通过打开命令提示窗口并输入以下命令来启动与windbg的会话,其中n是端口号,key是设置目标计算机时由bcdedit自动生成的密钥:

windbg -k net:port=n,key=Key

如果系统提示您允许windbg通过防火墙访问端口,则允许windbg访问所有不同网络类型的端口。首次尝试建立网络调试连接时,可能会提示您允许调试应用程序(windbg或kd)通过防火墙访问。Windows的客户端版本显示提示,但Windows的服务器版本不显示提示。您应该通过选中域、私有和公共三种网络类型的复选框来响应提示。如果没有得到提示,或者在提示可用时没有选中复选框,则必须使用“控制面板”允许通过防火墙进行访问。打开“控制面板>系统和安全”,然后单击“允许应用程序通过Windows防火墙”。在应用程序列表中,找到Windows GUI符号调试器和Windows内核调试器。使用复选框允许这两个应用程序通过防火墙。重新启动调试应用程序(windbg或kd)。

调试器如何获取目标计算机的IP地址

目标计算机上的内核调试驱动程序尝试使用动态主机配置协议(DHCP)来获取正在用于调试的网络适配器的可路由IP地址。如果驱动程序获得一个DHCP分配的地址,那么目标计算机可以由位于网络上任何位置的主机进行调试。如果驱动程序无法获得一个DHCP分配的地址,它将使用自动专用IP地址(APIPA)来获得一个本地链路IP地址。本地链路IP地址不可路由,因此主机和目标不能使用本地链路IP地址通过路由器进行通信。在这种情况下,如果将主机和目标计算机插入同一网络集线器或交换机,网络调试将工作。

总结

这个操作我在虚拟机上进行了测试可以进行调试

参考资料

https://www.cnblogs.com/yilang/p/11428744.html

用网络进行内核调试 VMware+windbg相关推荐

  1. windbg网络双机内核调试

    target设置 bcdedit /debug on bcdedit /dbgsettings net hostip:10.0.0.5 port:60000 bcdedit会生成一个key 如果有一个 ...

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

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

  3. Windbg+Vmware/VirutalBox内核调试加速工具VirtualKD

    今天又想起来VirtualKD这个东西,试用了一下,真是爽坏了,可能我火星了~~ 很久以前就知道小喂有个VmKd工具,使用Vmware的后门指令直接拷贝数据来代替模拟串口,能大大提高调试时的数据传输速 ...

  4. windbg通过网络启动进行内核调试

    调试环境搭建 用网线把目标机器和主机直连 ,并且手动为它们的有线网卡配制IP地址,且主机和目标机器IP地址必须ipv4格式. 要求:被调试的目标机器必须是win8或是Windows Server 20 ...

  5. 使用 VMware + win10 + vs2019 从零搭建双机内核调试环境

    我在前面的文章--<使用 VMware + win10 + VirtualKD + windbg 从零搭建双机内核调试环境>分享了使用 windbg 进行双机内核调试的环境搭建的步骤. 有 ...

  6. 使用WinDbg内核调试

    WINDOWS调试工具很强大,但是学习使用它们并不容易.特别对于驱动开发者使用的WinDbg和KD这两个内核调试器(CDB和NTSD是用户态调试器). 本教程的目标是给予一个已经有其他调试工具使用经验 ...

  7. windbg+VM 设置内核调试环境(双机调试)

    虚拟机是XP情况: 启动项添加调试启动,并设置波特率为115200 具体操作可在boot.ini中添加如下代码: multi(0)disk(0)rdisk(0)partition(1)\WINDOWS ...

  8. Windbg内核调试之一: Vista Boot Config设置

    Windbg进行内核调试,需要一些基本的技巧和设置,在这个系列文章中,我将使用Windbg过程中所遇到的一些问题和经验记录下来,算是对Kernel调试的一个总结,同时也是学习Windows系统内核的另 ...

  9. 【转】VMWare+WinDbg搭建(驱动)调试环境

    [转]VMWare+WinDbg搭建(驱动)调试环境 今天搭建了一个"VMWare+Windbg的虚拟机双机内核调试环境",第一次感受到了"符号和源码调试"的强 ...

最新文章

  1. vue-threeJS数据驱动的三维图形可视化
  2. 【性能优化】面试官:Java中的对象和数组都是在堆上分配的吗?
  3. matlab 12脉波变压器,12脉波中频炉专用变压器外形尺寸
  4. 被spring和hibernate4逼疯
  5. Windows Azure虚拟机概览
  6. 呼叫中心如何规划好工作习惯
  7. RPM是RedHat Package Manager(RedHat软件包管理工具)类似Windows里面的“添加/删除程序”...
  8. 通过JNI使用C ++尖叫快速进行Lucene搜索
  9. 这部计算机27厘米宽英语怎么说,24/27/32寸电脑显示器尺寸多大?长宽多少厘米?显示屏长宽与面积的算法...
  10. python【第三篇】迭代器、生成器、闭包
  11. 全文检索(LuceneSolr)
  12. Java 后台开发实习经历
  13. css shine_什么是Shine Enterprise Java模式?
  14. 携程、同程、QQ音乐、天猫...等14款APP被点名:涉嫌过度收集用户信息
  15. C编程 求1到100之间的奇偶数之和
  16. mysql 查询 投影_sql--查询(基本,条件,投影,排序)
  17. 【渝粤题库】广东开放大学 互联网金融 形成性考核
  18. 解决“¥”符号在安卓上显示只有一个横杠的问题
  19. Json概述以及python对json的相关操作(至尊宝错过了紫霞仙子,难道你也要错过python对json的相关操作吗?)
  20. WordPress网站程序如何搭建教程详细流程步骤

热门文章

  1. 软件工程大师 Martin Fowler 谈机器学习持续交付
  2. Linux 隐藏文件
  3. 第68届柏林国际电影节组委会日前公布了电影名单
  4. cors实现请求跨域
  5. IDM免费安装注册使用,两步注册成功
  6. git 新入职员工流程
  7. csdn分类专栏使用指南
  8. 67 Pod生命周期
  9. Graphite监控上手指南
  10. 虚拟局域网软件开源_局域网视频会议行业专业术语你知道哪些?