如何使用WinDBG跟踪调试ASLACPI

如何使用WinDBG跟踪调试ASLACPI,第1张

在现代计算机中,硬件和固件(BIOS)都必须符合ACPI规范,以便 *** 作系统可以控制所有模块的自动配置和电源管理。 使用WinDbg调试ACPI代码通常需要两台计算机,一台是目标机(Debuggee),另一台作为主机(Debugger)。下面就介绍一下怎么在两台机器上建立调试环境。

1、配置调试Debuggee的连接方式

Windbg支持COM、1394、USB20三种不同的连接方式,看到网上有些文章关于使用USB20来连接,需要购买特殊的USB调试线,而且价格不菲,本篇文章就不讨论了。笔记本电脑一般都没有COM端口,只好使用1394或是COM转USB,但在这里我只想讨论怎么使用COM端口来连接。

启动到 *** 作系统,使用bootcfg命令或直接使用文本编辑器修改bootini文件,指定调试使用的端口及参数。为了使用COM端口来调试,需要在启动参数中加入/debug参数,并指定/debugport和/baudrate子参数来作为启动项。下面这个bootini文件的第一个启动项就是配置使用COM端口。/debugport子参数指出使用Debuggee的哪个COM口,/baudrate指出连接的速度(默认是每秒19200位)。

[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="Debugging with Cable" /fastdetect /debug /debugport=COM1 /baudrate=57600

multi(0)disk(0)rdisk(0)partition(1)/WINDOWS="Microsoft Windows XP Professional" /fastdetect

下面的例子使用bootcfg命令设置第一个启动项使用COM1端口、波特率为115200。bootcfg的/debug开关打开,/port开关及/baud参数指出端口和速度,/ID开关指出修改的是第一个启动项。

bootcfg /debug ON /port COM1 /baud 115200 /ID 1

1

在Windows10系统中,选中此电脑-属性进入电脑系统查看界面,也可以按Windows键+X,选择“系统”进入。

步骤阅读

2

进入系统信息查看界面,点击左侧的“高级系统设置”。

步骤阅读

3

在高级页签中,点击启动和故障恢复项目中的“设置”。

步骤阅读

4

写入调试信息下面,可以设置转储文件选项,接下来就是这个转储文件DMP格式的文件保存路径。

步骤阅读

5

我们可以通过个路径找到这个蓝屏错误DMP文件,如在Windows10系统C:\Windows\找到了MEMORYDMP。

步骤阅读

6

接下来若打开这个DMP文件,则需要下载安装Debugging Tools了,安装成功后,以管理员的身份打开Debugging Tools执行文件windbgexe。

步骤阅读

7

选择MEMORYDMP打开后就可以对DMP文件内容进行分析蓝屏的原因了。关于Debugging Tools的详细 *** 作,可以参考下面的经验:蓝屏DMP文件分析工具Debugging Tools怎么用?

22蓝屏DMP文件分析工具Debugging Tools怎么用?

1、病毒是最大的元凶。可先调出任务管理器,查看CPU占用率,如果某个进程CPU占用率居高不下,就很可能是被病毒感染了,立刻结束该进程吧,然后用杀毒软件对系统进行一次全盘扫描,让病毒无所遁形。

2、然后要看看是不是网络防火墙对浏览器的进程进行了拦截。从控制面板中进入“Windows防火墙”,在左侧点击“允许程序或功能通过Windows防火墙”,然后点击右侧的“允许运行另一程序”,在列表中找到你使用的浏览器(或点击浏览手动添加),点击下面的“添加”,退出之后再次运行浏览器看看能不能正常访问,如果还是不行,请看下一步。

3、这时我们要检查问题是不是出在DNS的设置上面。DNS(Domain Name System)的作用就是将网站域名,转换成一个可以进行访问的IP地址。进入到控制面板,点击“查看网络状态和任务”,然后打开“本地连接”状态,点击“属性”,在新窗口中双击“Internet协议”。在d出的窗口里面查看“使用下面的DNS服务器地址”信息,一般家用电脑是自动获取的DNS地址,如果需要填写,确保和当地网络服务商提供的DNS地址一致

4如果以上无效,可以尝试重置lsp。(金山毒霸百宝箱有这个功能)

在C++实际开发过程中,开发出来的程序,一般情况下由开发人员进行单元测试,然后移交给测试人员进行测试。在开发人员测试出现的bug,我们可以直接在本地进行调试。如果测试人员测试出崩溃级别的bug,如果我们需要调试往往借助于vs提供的Remote Debugger工具进行远程调试,然是当程序在用户手中出现崩溃此时我们可以采用Remote Debugger进行调试,但是如果此时开发人员无法直接去用户现场调试,此时就需要用户生成DMP文件,以便开发人员使用DMP文件进行分析。

本文主要介绍C++开发过程中出现程序崩溃后,如何进行分析定位bug(基于xp系统)。

一、DMP文件获取设置

(1)在运行窗口中输入 drwtsn32 -i ,并且点击确定

WinDbg分析DMP文件方法完全攻略

(2)在(1)确定后d出如下对话框

WinDbg分析DMP文件方法完全攻略

(3)在(2)d出的确定框后点击确定按钮完成,将DrWatson设置为默认应用程序调试程序。

DrWatson系统自带的程序。

(4)再次在运行窗口中输入:drwtsn32,如下图:

WinDbg分析DMP文件方法完全攻略

(5)点击确定按钮,在d出的对话框中按照下列方式设置

WinDbg分析DMP文件方法完全攻略

(6) 点击确定按钮完成DMP文件设置。

二、关闭DrWatson方法

(1)打开注册表

(2)在注册表中进入主键[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\AeDebug],然后将“AUTO”键值设置为0如下图:

WinDbg分析DMP文件方法完全攻略

三、Windbg下载,下载完成后安装

四、DMP文件获取

(1) 用vs2010创建一个基于win32的程序,其源码如下:

WinDbg分析DMP文件方法完全攻略

(2)我们知道在学习C++中整数不能跟0进行除运算,否则会引起程序崩溃。而(1)中就是编写能触发0的异常,导致程序结束运行的程序。编译(1)中的程序,结果如下:

WinDbg分析DMP文件方法完全攻略

(3)运行(2)中testexe程序 ,程序崩溃。如下图:

WinDbg分析DMP文件方法完全攻略

(4) 按照《一、DMP文件获取设置》步骤实现DrWatson设置为默认应用程序调试程序。

(5)再次运行运行(2)中testexe程序 如下图:

WinDbg分析DMP文件方法完全攻略

点击确定完成dmp文件的生成。

(6)打开在(4)中设置dmp文件路径。(本例中默认地址为:C:\Documents and Settings\All Users\Application Data\Microsoft\Dr Watson)如下图:

WinDbg分析DMP文件方法完全攻略

其中userdmp就是我们需要的dmp文件。

五、分析《四、DMP文件获取》中获取的DMP文件。

在dev里生成dll和调用程序的pdb符号文件,然后把符号文件拷贝到windbg的符号文件目录里

设置好源文件的路径,然后用windbg运行调用程序

然后就可以设断点,跟踪了

具体看windbg的帮助文件,网上也有很多例子

点击文件就可,如果不能运行

1、打开电脑管家找到工具箱;

2、打开工具箱找到“电脑诊所”

3、打开电脑诊所后在右上角的搜索内输入dlL找到需要修复的文件后点击一键修复或者可以点击详情查看原因并点击立即修复。

以上就是关于如何使用WinDBG跟踪调试ASL/ACPI全部的内容,包括:如何使用WinDBG跟踪调试ASL/ACPI、windbg 怎么调试dmp文件、为什么Win7 64 用WinDbg 老是不能本地内核调试等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9469886.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存