WinXp双机调试环境搭建

所需步骤:

①配置WinXp系统启动项,将Windows设置为调试执行。

②配置VMware的管道虚拟串口

③配置WinDbg

④设置Windows内核符号表

配置WinXp系统启动项

打开虚拟机中Windows的系统盘C盘,在文件夹选项中设置为显示所有文件,然后找到boot.ini系统配置文件。

点击文件,右键选择属性,将 “只读” 取消勾选。

boot.ini的内容一般如下:

[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect

将最后一行复制 ,粘贴到文件末尾,并加上 /debug /debugport=com1 /baudrate=115200。修改结果如下:

[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect /debug /debugport=com1 /baudrate=115200

保存这个.ini文件,重启系统,在启动时就可以看到菜单,可以进入正常的Windows Xp系统,也可以进入Debug模式的Windows Xp。
image
Ps:如果不能保存,则需要在桌面新建一个boot.ini文件,注意ini后缀名,内容一样。然后复制到系统盘中的boot.ini所在文件夹,在出现弹框中选择“是”。(下图是为了展示步骤,与本次实验无关)
image

配置VMware的管道虚拟串口

调试机与被调试机用串口相连,但是在被调试机是虚拟机的情况下,就不肯用真正的串口来连接了。但是可以在虚拟机上生成一个用管道虚拟的串口。

在Windows Xp未启动界面,按以下步骤操作:

1.点击编辑虚拟机设置
image
2.直接点添加(不要点其它的),按图上序号来。如有打印机,可移除打印机,也可将下面的com_1改成com_2,因为打印机占了一个串口。
image
3.点完成后 ,在硬件界面中会出现串行端口(原本没有,步骤2的截图是已配置的)。双击,出现下图,按右侧配置。
image

配置WinDbg

老版本

有两种方法

1.在宿主机上,打开控制台(cmd窗口),进入WinDbg所在文件夹。

#输入命令
windbg.exe -b -k com:port=\\.\pipe\com_1,baud=115200,pipe  #(先不要按回车)

2.将WinDbg创建桌面快捷方式,单击右键,选择属性,在目标中的“windbg.exe”后添加前面的启动参数。

修改之后 —— "E:\windbg.exe" -b -k com:port=\.\pipe\com_1,baud=115200,pipe

新版本(win10之后)

下载方式

也可以去微软商店下载

按照以下参数进行配置连接
image

完成后

重启Windows Xp系统进入调试模式,当系统进入调试模式的同时,返回 调试机,按配置WinDbg执行命令windbg.exe -b -k com:port=\.\pipe\com_1,baud=115200,pipe, 或者WinDbg双击桌面快捷方式。

调试机中Windbg界面
image
我当前虚拟机系统界面
image
刚连接上是,虚拟机里的Windows系统会被中断,貌似死机,在WinDbg的命令提示符“kd>”后面输入“g”,并回车。

设置Windows内核符号表
在调试连接上后,打开WinDbg主菜单File下的Symbol File Path ,在这里输入符号表位置。符号表和sys文件产生在同一目录下,所以只要指定本机上编译结果所在的objchk_wxp_x86\i386目录就可以了。

 如果有多个驱动需要调试,则可以指定多个路径,路径之间用分号分隔。

 此外,需要指定Windows的内核符号表。可以在“Symbol File Path”中增加如下一条设置,用分号与其它路径隔开。c:\symbols为本地目录,从服务器下载的符号会存储在此目录中,你可以设置为你想存放的目录中。srv*c:\symbols*http://msdl.microsoft.com/download/symbols;

本文在原文的基础上略作修改,因为原文用的还是老版本的方法,但现在Win11已经不支持了。
原文链接:https://blog.csdn.net/team39/article/details/103386562

posted @ 2023-12-05 00:11  DumpInfou  阅读(257)  评论(0编辑  收藏  举报