searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

WinDbg+VirtualKD+VMWare双机调试Windows

2024-05-20 03:02:38
45
0
一、本地环境
1,主机(Host OS): WIN10 x64
2,Windbg 10.0.19041.685 AMD64,需要与Guest OS一致的位数
3,VMWare 15 pro
4,Guest OS:WIN7 x64
5, VirtualKD 3.0
 
说明:
  • 如果直接使用WinDbg调试内核,可以继续步骤二。如果使用VirtualKD,跳到步骤五,因为配置串口、波特率这些都是VirtualKD软件帮做了。
  • 正如VirtualDK官网所描述的,使用VirtualDK调试可以加速调试速度45倍,所以强烈建议使用VirtualDK。如果直接使用WinDbg调试是非常慢的。
 
二、VMware虚拟机配置
1,打开相应的虚拟机,选择“编辑虚拟机设置”,打开虚拟机设置对话框
2,观察“虚拟机设置”这个对话框的“硬件”->“设备栏”,看看是否有“打印机”或“Printer”,如果有,则删除该设备。
3,选择“添加”,然后选择“串行端口”,然后选择“使用命名管道”,并按如下设置
注:
1)使用命名管道,名字默认即可。
2)另一端选应用程序,即链接windbg。
3)IO模式,可选可不选。
4)完成后,需要确认一下新增的设备是“com1”(中文VMware为“串行端口”)。
如果在这个地方,COM口编号不对,后续打开windbg,会显示“debuggee not connected”。附网上关于该问题的解决方案:
“在Edit virtual machine settings里看下你那个串口是不是叫Serial port 2,如果是,问题就在这里,就是多了那个2。你把这个串口删掉,然后把那个printer也删掉,然后重新添加一个串口就可以了,这个时候串口就叫Serial port了。”
 
三、WinDbg设置
1,在桌面上添加一个windbg的快捷方式;
2,右键该快捷方式,打开“属性”对话框,在目标一栏的末尾添加“ -b -k com:pipe,port=\\.\pipe\com_1,resets=0”
        如果启动异常,可在“快捷方式”tab中,选择“高级”,勾选“用管理员身份运行”
 
四、GuestOS设置
1,以管理身份打开“cmd”。
2,设置调试串口1,命令如下:
bcdedit /dbgsettings serial baudrate:115200 debugport:1
该处的“1”,对应com1
 
3,复制一个开机选项,命名为“DebugEntry”,可任意命名。命令如下:
bcdedit /copy {current} /d DebugEntry
 
4,增加一个开机引导项
bcdedit /displayorder {current} {ID}
注:这个ID要填写上一条命令生成的一串数字或字母。
 
5,激活debug
bcdedit /debug {ID} ON
注:ID以生成的数字或字母串代替。
 
6,重启虚拟机,选择“DebugEntry[debug]”作为启动项。
7,选择好启动项后,立即回到本机,启动windbg。只有在GuestOS启动过程中,虚机串口才能连接上
 
五、VirtualKD设置
1、下载VirtualKD安装包,运行安装包自解压。注意VirtualKD最新版本3.0不兼容VMWare15.5以及之后的版本。可以使用VirtualKD-Redux代替
 
2、配置vmmon.exe,工具Guest OS的位数选vmmon32.exe或vmmon64.exe
 
3、连接到虚机,如果要调试驱动,需要关闭Windows的签名认证。
0条评论
0 / 1000
m****n
4文章数
0粉丝数
m****n
4 文章 | 0 粉丝
m****n
4文章数
0粉丝数
m****n
4 文章 | 0 粉丝
原创

WinDbg+VirtualKD+VMWare双机调试Windows

2024-05-20 03:02:38
45
0
一、本地环境
1,主机(Host OS): WIN10 x64
2,Windbg 10.0.19041.685 AMD64,需要与Guest OS一致的位数
3,VMWare 15 pro
4,Guest OS:WIN7 x64
5, VirtualKD 3.0
 
说明:
  • 如果直接使用WinDbg调试内核,可以继续步骤二。如果使用VirtualKD,跳到步骤五,因为配置串口、波特率这些都是VirtualKD软件帮做了。
  • 正如VirtualDK官网所描述的,使用VirtualDK调试可以加速调试速度45倍,所以强烈建议使用VirtualDK。如果直接使用WinDbg调试是非常慢的。
 
二、VMware虚拟机配置
1,打开相应的虚拟机,选择“编辑虚拟机设置”,打开虚拟机设置对话框
2,观察“虚拟机设置”这个对话框的“硬件”->“设备栏”,看看是否有“打印机”或“Printer”,如果有,则删除该设备。
3,选择“添加”,然后选择“串行端口”,然后选择“使用命名管道”,并按如下设置
注:
1)使用命名管道,名字默认即可。
2)另一端选应用程序,即链接windbg。
3)IO模式,可选可不选。
4)完成后,需要确认一下新增的设备是“com1”(中文VMware为“串行端口”)。
如果在这个地方,COM口编号不对,后续打开windbg,会显示“debuggee not connected”。附网上关于该问题的解决方案:
“在Edit virtual machine settings里看下你那个串口是不是叫Serial port 2,如果是,问题就在这里,就是多了那个2。你把这个串口删掉,然后把那个printer也删掉,然后重新添加一个串口就可以了,这个时候串口就叫Serial port了。”
 
三、WinDbg设置
1,在桌面上添加一个windbg的快捷方式;
2,右键该快捷方式,打开“属性”对话框,在目标一栏的末尾添加“ -b -k com:pipe,port=\\.\pipe\com_1,resets=0”
        如果启动异常,可在“快捷方式”tab中,选择“高级”,勾选“用管理员身份运行”
 
四、GuestOS设置
1,以管理身份打开“cmd”。
2,设置调试串口1,命令如下:
bcdedit /dbgsettings serial baudrate:115200 debugport:1
该处的“1”,对应com1
 
3,复制一个开机选项,命名为“DebugEntry”,可任意命名。命令如下:
bcdedit /copy {current} /d DebugEntry
 
4,增加一个开机引导项
bcdedit /displayorder {current} {ID}
注:这个ID要填写上一条命令生成的一串数字或字母。
 
5,激活debug
bcdedit /debug {ID} ON
注:ID以生成的数字或字母串代替。
 
6,重启虚拟机,选择“DebugEntry[debug]”作为启动项。
7,选择好启动项后,立即回到本机,启动windbg。只有在GuestOS启动过程中,虚机串口才能连接上
 
五、VirtualKD设置
1、下载VirtualKD安装包,运行安装包自解压。注意VirtualKD最新版本3.0不兼容VMWare15.5以及之后的版本。可以使用VirtualKD-Redux代替
 
2、配置vmmon.exe,工具Guest OS的位数选vmmon32.exe或vmmon64.exe
 
3、连接到虚机,如果要调试驱动,需要关闭Windows的签名认证。
文章来自个人专栏
文章 | 订阅
0条评论
0 / 1000
请输入你的评论
0
0