首页
社区
课程
招聘
[旧帖] [原创]Windbg实机双机调试平台的搭建 0.00雪花
发表于: 2011-6-6 19:50 1245

[旧帖] [原创]Windbg实机双机调试平台的搭建 0.00雪花

2011-6-6 19:50
1245
驱动程序的开发离不开一款使用方便的内核调试软件。SOFTICE作为一款R0调试利器,曾经让kernelERs爱不释手。不过由于它的技术支持已经停止,在软件硬件平台飞速升级的今天,我们不得不承认, SOFTICE有很多时候不能方便的使用了。
Windbg是微软提供的R0层免费调试软件,需要双机搭建调试平台(主控机与目标机)。非设备类的内核程序可以通过虚拟机环境,虚拟一个串口,搭建调试环境。但是如果涉及到硬件驱动的调试,就需要两台实体机了。
一、软件的准备工作
WinXP下windbg调试平台的搭建比较容易,网上资料也比较多。
主控机:需要安装windbg,打开软件,在symbol file path与source file path中分别设置符号文件所在的路径(就是.PDB所在路径)与源代码所在的路径。在windbg的桌面快捷方式的目标中最后添加”-k com:port=1,baud=115200”(不需要双引号)。
目标机:驱动运行的机器。XP下只需要修改BOOT.INI引导文件。
VISTA以后的版本中不再采用BOOT.INI,需要在administrator下运行bcdedit添加启动调试项,步骤如下:
1)        创建COM1:bcdedit  /dbgsettings serial baudrate:115200 debugport:1;
2)        复制开机项:bcdedit /copy{current} /d debugentry,获取ID;
3)        增加新启动项至引导:bcdedit  /displayorder {cunrrent} {ID};
4)        激活DEBUG:bcdedit /debug {ID} ON.
二:硬件的准备工作
特别需要说明的是,实体机双机调试如果要通过串口调试的话,一定要准备一条2、3脚交叉的串口线,可以先通过串口助手测试,确认两台机器可以通信。有好多人都在问启动windbg以后,一直处于“Waiting to reconnect...”,此处是一个原因。原因见串口原理。
至此准备工作都已完成,现在如果开机调试的话,windbg可能还是要悲剧的停到“Waiting to reconnect...”,这是因为还需要注意顺序的问题。
首先开启主控机,串口线两端连好。然后开启目标机,在系统引导选择处,停在DEBUG。(如何停住?我的电脑---属性---高级---启动和故障恢复设置---设置显示操作系统引导时间)主控机运行windbg,目标机ENTER进入DEBUG,这下应该能双机连起了。

[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法

收藏
免费 0
支持
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回
//