<2017年12月>
262728293012
3456789
10111213141516
17181920212223
24252627282930
31123456

windbg双机调试

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。

Ps:如果不能保存,则需要在桌面新建一个boot.ini文件,注意ini后缀名,内容一样。然后复制到系统盘中的boot.ini所在文件夹,在出现弹框中选择“是”。(下图是为了展示步骤,与本次实验无关)

配置VMware的管道虚拟串口

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

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

1.点击编辑虚拟机设置

2.直接点添加(不要点其它的),按图上序号来。如有打印机,可移除打印机,也可将下面的com_1改成com_2,因为打印机占了一个串口。

3.点完成后 ,在硬件界面中会出现串行端口(原本没有,步骤2的截图是已配置的)。双击,出现下图,按右侧配置。

配置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

 完成后

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

调试机中Windbg界面

我当前虚拟机系统界面

 刚连接上是,虚拟机里的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;

 

 

 

win10  测试,当出现下列情况 ,请使用管理员身份运行

 

设置添加系统环境变量_NT_SYMBOL_PATH 的值为:srv*c:\symbols*http://msdl.microsoft.com/download/symbols

这样启动WinDbg的时候它会自动查找这个变量,然后去相应的url地址上下载对应系统的符号文件,最后下载的符号文件保存在C:/symbols路径下。这个路径会自己创建。当然,可以根据需求自己改路径

posted @ 2019-12-10 16:09  史D芬周  阅读(713)  评论(0编辑  收藏  举报