如何利用WinDbg进行双机调试转自佘华煜..docxVIP

如何利用WinDbg进行双机调试转自佘华煜..docx

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
如何利用WinDbg进行双机调试转自佘华煜.

如何利用 WinDbg 进行双机调试 转自佘华煜有的时候,系统在崩溃时可能不能生成内存转储文件,这样的原因有一些,详见我撰写的《如何确保系统崩溃时能够生成内存转储文件》一文。当然,系统挂起而不崩溃的情况也是有的。在这样各种得不到转储文件的情形下,如何才能才能诊断和调试系统错误呢?这就要用到双机调试啦。(对于挂起的系统,还有另外的办法可以采用,我将在日后的文章中进行讨论) ?说到双机调试,笔者并不是第一次讨论这个问题了,如果你是笔者的老朋友,相信我搬来博客园之前,你在WinOS技术论坛、ITECN上我的博客里或者新浪博客里应该看见过我的一篇文章《手握利器,直面蓝脸》。这篇文章历时多天完成,于2009年春节期间发表,倾注了我很多心血,因此仅博客访问量就过万,还被合法地、不合法地到处转载……不过啊,这篇文章最后讲解的双机调试,由于篇幅所限,并不是很完善,今天我们就一起来看看双机调试的更多的细节。 ?其实并不是只有在生成不了转储文件的情形下才能使用双机调试,在任何情况下都是可以使用的,尤其是调试内核问题时,双机调试不必限于转储文件类型,均可获得一切可以获得的信息,相当于完全内存转储了。而且,双机调试可以调试到系统启动阶段和之后任意时刻的问题,这是内存转储做不到的。因此只要满足连接条件,将两台机器相连,我们就可以进行双机调试了。下面我们通过表格比较一下可用的三种连接方式: ?连接类型说明COM使用零调制解调器(Null-Modem)线缆,也就是两个头都是母孔的RS232线,通过COM端口连接1394利用IEEE 1394线缆连接,要求调试机和被调机运行相同版本的至少为Windows XP的系统USB 2.0使用一种内置硬件芯片来支持调试的特制 USB 线缆连接,要求被调机运行的系统至少为Windows Vista?在双机调试中,我们一般选择对硬件和软件复杂度要求最低的 COM 对接方式进行连接。当然,目前很多的笔记本计算机并没有再保留 COM 端口,那就要采取别的方式进行双机调试了。这样,笔记本用户进行双机调试就显得复杂了许多,所以在能生成内存转储文件的情况下还是尽量分析内存转储比较好。另外,在双机调试之前,除了连接好线缆,我们还必须在被调机上做一些设置才能让我们进行调试。下面我们一起看看需要做哪些设置。 ?其实要做的设置也不难,就是开启系统的调试功能。鉴于现在 Windows XP Service Pack 3 的支持周期还没有结束,我将讲解 XP 和 Windows 7 两个系统下的典型配置方式。(在这里,我们统一设置连接口为 COM1 口,波特率为115200) ?对于 Windows XP,由于启动使用的是 boot.ini 数据,因此我们可以手动修改 C:\boot.ini 文件(假设您的系统装在 C 盘),在像 multi(0)disk(0)rdisk(0)partition(1)\WINDOWS=Microsoft Windows XP Professional /fastdetect 这样的启动项目后增加参数 /debug /debugport=com1 /baudrate=115200。当然,编辑 boot.ini 之前,您需要显示所有隐藏文件并且取消隐藏受保护的系统文件,而且还需清除该文件的只读属性。配置好的结果如下图所示(该记事本启用了自动换行,蓝色高亮部分其实在同一行): ??除了直接编辑 boot.ini,还可以使用 msconfig 实用程序。启动 msconfig,切换到 BOOT.INI 选项卡,点击 高级 按钮,在弹出的对话框中进行如下配置后两次单击 确定 来退出 msconfig 即可: ??或者,还有一种推荐的命令行方式来设置: ?在 cmd 下键入并执行命令:bootcfg /debug ON /port COM1 /baud 115200 /ID 1 成功后会有如下提示: ??这里的 /ID 开关用于决定对 boot.ini 中的哪一条启动项进行设置。可用的启动项可通过执行不带参数的 bootcfg 命令查看。更多自定义调试参数的方式请执行 bootcfg /debug /? 查询。 ?说到自定义调试参数,那我也得说说默认的调试参数:(默认调试参数即借助 /debug ON 参数单纯启用调试而没有配置调试口、波特率时的系统默认调试参数) ?系统版本默认调试参数Windows Vista 之前的 Windows 系统 如 Windows XP调试口 COM1,波特率 19200 bps。Windows Vista 及 Windows 7调试口 COM1,波特率 115200 bps。 [全局默认设置]?说完了 Windows XP 的配置,我们再来说说现行主流系统 Windows 7 的调试配置:

文档评论(0)

stzs + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档