Advanced Debugging
About AdvDbg Consult Train Services Products Tools Community Contact  
欢迎光临 高端调试 登录 | 注册 | FAQ
 
  ACPI调试
Linux内核调试
Windows内核调试
 
  调试战役
调试原理
新工具观察
 
  Linux
Windows Vista
Windows
 
  Linux驱动
WDF
WDM
 
  PCI Express
PCI/PCI-X
USB
无线通信协议
 
  64位CPU
ARM
IA-32
  CPU Info Center
 
  ACPI标准
系统认证
Desktop
服务器
 
  Embedded Linux
嵌入式开发工具
VxWorks
WinCE
嵌入式Windows
 
  格蠹调试套件(GDK)
  格蠹学院
  小朱书店
  老雷的微博
  《软件调试》
  《格蠹汇编》
  《软件调试(第二版)》
沪ICP备11027180号-1

WinDbg

帖子发起人: rainynight   发起时间: 2009-04-02 15:50 下午   回复: 2

Print Search
帖子排序:    
   2009-04-02, 15:50 下午
rainynight 离线,最后访问时间: 2011/5/21 1:45:14 rainynight

发帖数前150位
注册: 2009-03-08
发 贴: 8
dump (Probably caused by : watchdog.sys)
Reply Quote
minidump:http://www.namipan.com/d/Mini040209-01.rar/03fc30b4d29fef9fda0125363b419bb3a509ed6b2c840000

嘿嘿,最好能分析的详细点,学习下
IP 地址: 已记录   报告
   2009-04-03, 10:19 上午
WANGyu 离线,最后访问时间: 2012/9/10 3:34:00 王宇

发帖数前10位
男
注册: 2007-05-08
发 贴: 306
Re: dump (Probably caused by : watchdog.sys)
Reply Quote

比较棘手的问题...  我抛砖引玉

感觉是没有定时“喂狗”(跑飞了?)导致蓝屏了,当时要是连着调试器的话会中断到调试器,问题和 ATI 的显卡驱动相关。

输入 dd watchdog!g_WdBugCheckData L5 可以看到蓝屏参数:

kd> dd watchdog!g_WdBugCheckData L5
b4be03a4  000000ea 85528248 86b01778 856d62c8
b4be03b4  00000001

也就是:

Arg1: 85528248, Pointer to a stuck thread object.  Do .thread then kb on it to find the hung location.
Arg2: 86b01778, Pointer to a DEFERRED_WATCHDOG object.
Arg3: f798acb4, Pointer to offending driver name.
Arg4: 00000001, Number of times "intercepted" bugcheck 0xEA was hit (see notes).

----------------------------------------------------

首先是导致问题的驱动:

kd> dt nt!_unicode_string f798acb4
 "ati2dvag"
   +0x000 Length           : 0x10
   +0x002 MaximumLength    : 0x12
   +0x004 Buffer           : 0xf798accc  "ati2dvag"

楼主用的显卡催化剂是官方的吗?我笔记本的 ATI HD 2400 也是相当的烂。


看看那个导致问题的线程:

kd> .thread 85528248
Implicit thread is now 85528248

kd> r
Last set context:
eax=00000000 ebx=00000000 ecx=00000000 edx=00000000 esi=00000000 edi=00000000
eip=805427bf esp=a9351340 ebp=a9351360 iopl=0         nv up di pl nz na po nc
cs=0008  ss=0010  ds=0000  es=0000  fs=0000  gs=0000             efl=00000000
nt!KiUnlockDispatcherDatabase+0x77:
805427bf 0ac0            or      al,al

kd> k
  *** Stack trace for last set context - .thread/.cxr resets it
ChildEBP RetAddr 
a935134c 804fa030 nt!KiUnlockDispatcherDatabase+0x77
a9351360 b4bdfa67 nt!KeSetEvent+0x74
a9351654 804feaf1 watchdog!WatchdogKernelApc+0x13b
a93516a4 805427f0 nt!KiDeliverApc+0xb3
a93516c4 804fc582 nt!KiUnlockDispatcherDatabase+0xa8
a93516dc 80599ec5 nt!KeReleaseSemaphore+0x70
a9351710 8059a04f nt!LpcpRequestWaitReplyPort+0x3ff
a9351728 8063ae5b nt!LpcRequestWaitReplyPortEx+0x21
a93518a4 8063af16 nt!DbgkpSendApiMessageLpc+0x49
a9351934 804fdcdd nt!DbgkForwardException+0x84
a9351cf4 8053f091 nt!KiDispatchException+0x38f
a9351d5c 8053f042 nt!CommonDispatchException+0x4d
a9351d64 7c92e4f4 nt!KiExceptionExit+0x18a
WARNING: Frame IP not in any known module. Following frames may be wrong.
a9351d68 badb0d00 0x7c92e4f4
a9351d6c 7c92e4f4 0xbadb0d00
a9351d70 00000000 0x7c92e4f4

实际也就是这句话出的问题,我猜就是程序 SwapContext 之后没有及时喂狗导致的...

kd> u nt!KiUnlockDispatcherDatabase+0x77-5
nt!KiUnlockDispatcherDatabase+0x72:
805427ba e831010000      call    nt!SwapContext (805428f0)
805427bf 0ac0            or      al,al
805427c1 8a4e58          mov     cl,byte ptr [esi+58h]
805427c4 7518            jne     nt!KiUnlockDispatcherDatabase+0x96 (805427de)
805427c6 8b2c24          mov     ebp,dword ptr [esp]
805427c9 8b7c2404        mov     edi,dword ptr [esp+4]
805427cd 8b742408        mov     esi,dword ptr [esp+8]
805427d1 8b5c240c        mov     ebx,dword ptr [esp+0Ch]

kd> dds
b4be03b8  00000001
b4be03bc  00000001
b4be03c0  00000000
b4be03c4  00000000
b4be03c8  00000000
b4be03cc  00000001
b4be03d0  00000001
b4be03d4  00000001
b4be03d8  00000000
b4be03dc  00000000
b4be03e0  00000000
b4be03e4  00000000
b4be03e8  b4be1a8e watchdog!WdBugCheckStuckDriver
b4be03ec  b4be03a4 watchdog!g_WdBugCheckData
b4be03f0  00000000
b4be03f4  00000000
b4be03f8  00000000
b4be03fc  00000000
b4be0400  00000000
b4be0404  ff8b0000
b4be0408  53ec8b55
b4be040c  1075ff56
b4be0410  a068db33
b4be0414  53000000
b4be0418  024415ff
b4be041c  f08bb4be
b4be0420  6574f33b
b4be0424  ff1075ff
b4be0428  57680c75
b4be042c  ff574464
b4be0430  e8560875
b4be0434  00002046

那什么 _DEFERRED_WATCHDOG 结构我搜索了N久也没找到,肯请高人指点一下:

kd> dd 86b01778
86b01778  57446457 00000002 64776447 866b5038
86b01788  00000001 00000002 85528248 00000000
86b01798  00002710 00000000 00a0716a 00a07169
86b017a8  00a0716a 00a07169 0000010b 00000d2d
86b017b8  0002625a 00000002 01010101 85528248
86b017c8  010a0008 00000001 86b017d0 86b017d0
86b017d8  3dd76471 00000016 86bdd398 86d3c128
86b017e8  86b017f0 00002710 01000013 00040000

最后楼主的操作和“乐鱼影音盒”有关吗?

要是想先解决问题,建议楼主重新下载 ATI 官方驱动试一下。


IP 地址: 已记录   报告
   2009-04-04, 00:59 上午
futurestar 离线,最后访问时间: 2010/3/3 17:48:16 futurestar

发帖数前50位
注册: 2007-11-28
发 贴: 19
Re: dump (Probably caused by : watchdog.sys)
Reply Quote
我觉得应该和显卡驱动有关系,乐鱼影音盒只是引发的进程

0xEA要么就是显卡驱动问题,要么就是显卡硬件问题。

楼主的芯片组是:nF-CK804-8712的吗?AMD的CPU+ATI的显卡+Nvidia的芯片组

你的芯片平台和CPu平台是属于比较老的产品了。不知道你搭配的是什么显卡,你用的是2009年的显卡驱动了。

我的判断:
1、你的显卡太高级了
2、你的驱动太新了或你的驱动版本搞错了
3、请用官网推荐的驱动测试

难免怀疑...
IP 地址: 已记录   报告
高端调试 » 软件调试 » WinDbg » Re: dump (Probably caused by : watchdog.sys)

 
Legal Notice Privacy Statement Corporate Governance Corporate Governance
(C)2004-2020 ADVDBG.ORG All Rights Reserved.