我的Windows 2008服务器(数据中心版)64bit,最近在不同的应用程序上创build了一系列的BSOD。 错误消息通常是EXCEPTION_DOUBLE_FAULT 。
任何人都可以请帮助下面的转储文件的分析?
2:kd>!analyze -v
************************************************** *****************************
* *
* Bugcheck分析*
* *
************************************************** *****************************
UNEXPECTED_KERNEL_MODE_TRAP(7f)
这意味着陷阱发生在内核模式,这是一种陷阱
内核不允许有/捕获(绑定陷阱)或那个
总是瞬间死亡(双重故障)。 在第一个数字
错误检查参数是陷阱的编号(8 =双重错误等)
请参阅英特尔x86系列手册以了解更多有关这些内容的信息
陷阱是。 这是这些代码的*部分*:
如果kv显示一个taskGate
在冒号前面使用.tss,然后是kv。
否则如果kv显示陷阱
对该值使用.trap
其他
。在适当的框架上捕捉陷阱将显示在哪里
(在x86上,这将是程序KiTrap的ebp)
万一
kb将显示更正的堆栈。
参数:
Arg1:0000000000000008,EXCEPTION_DOUBLE_FAULT
Arg2:0000000080050033
Arg3:00000000000006f8
Arg4:fffff800018b1678
debugging细节:
------------------
BUGCHECK_STR:0x7f_8
CUSTOMER_CRASH_COUNT:1
DEFAULT_BUCKET_ID:DRIVER_FAULT_SERVER_MINIDUMP
PROCESS_NAME:CustomerService。
CURRENT_IRQL:1
EXCEPTION_RECORD:fffffa6004e45568 - (.exr 0xfffffa6004e45568)
exception地址:fffff800018a0150(nt!RtlVirtualUnwind + 0x0000000000000250)
ExceptionCode:10000004
ExceptionFlags:00000000
NumberParameters:2
参数[0]:0000000000000000
参数[1]:00000000000000d8
TRAP_FRAME:fffffa6004e45610 - (.trap 0xfffffa6004e45610)
注意:陷阱帧不包含所有寄存器。
有些寄存器值可能为零或不正确。
rax = 0000000000000050 rbx = 0000000000000000 rcx = 0000000000000004
rdx = 00000000000000d8 rsi = 0000000000000000 rdi = 0000000000000000
rip = fffff800018a0150 rsp = fffffa6004e457a0 rbp = fffffa6004e459e0
r8 = 0000000000000006 r9 = fffff8000181e000 r10 = ffffffffffffff88
r11 = fffff80001a1c000 r12 = 0000000000000000 r13 = 0000000000000000
r14 = 0000000000000000 r15 = 0000000000000000
iopl = 0 nv up ei pl zr na po nc
!NT RtlVirtualUnwind + 0x250:
fffff800`018a0150 488b02 mov rax,qword ptr [rdx] ds:00000000`000000d8 = ???????????????
重置默认范围
LAST_CONTROL_TRANSFER:从fffff800018781ee到fffff80001878450
STACK_TEXT:
fffffa60`01768a68 fffff800`018781ee:00000000`0000007f 00000000`00000008 00000000`80050033 00000000`000006f8:nt!KeBugCheckEx
fffffa60`01768a70 fffff800`01876a38:00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000:nt!KiBugCheckDispatch + 0x6e
fffffa60`01768bb0 fffff800`018b1678:00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000:nt!KiDoubleFaultAbort + 0xb8
fffffa60`04e44e30 fffff800`018782a9:fffffa60`04e45568 00000000`00000001 fffffa60`04e45610 00000000`0000023b:nt!KiDispatchException + 0x34
fffffa60`04e45430 fffff800`018770a5:00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000001:nt!KiExceptionDispatch + 0xa9
fffffa60`04e45610 fffff800`018a0150:fffffa60`04e46638 fffffa60`04e46010 fffff800`01965190 fffff800`0181e000:nt!KiPageFault + 0x1e5
fffffa60`04e457a0 fffff800`018a3f78:fffffa60`00000001 00000000`00000000 00000000`00000000 ffffffff'ffffff88:nt!RtlVirtualUnwind + 0x250
fffffa60`04e45810 fffff800`018b1706:fffffa60`04e46638 fffffa60`04e46010 fffffa60`00000000 00000000`00000000:nt!RtlDispatchException + 0x118
fffffa60`04e45f00 00000000`00000000:00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000:nt!KiDispatchException + 0xc2
STACK_COMMAND:kb
FOLLOWUP_IP:
!NT KiDoubleFaultAbort + B8
fffff800`01876a38 90 nop
SYMBOL_STACK_INDEX:2
SYMBOL_NAME:nt!KiDoubleFaultAbort + b8
FOLLOWUP_NAME:MachineOwner
MODULE_NAME:nt
IMAGE_NAME:ntkrnlmp.exe
DEBUG_FLR_IMAGE_TIMESTAMP:4a7801eb
FAILURE_BUCKET_ID:X64_0x7f_8_nt!KiDoubleFaultAbort + b8
BUCKET_ID:X64_0x7f_8_nt!KiDoubleFaultAbort + b8
跟进:MachineOwner
---------
问题是,当内核正在处理一个exception,它遇到了第二个。 在这种情况下,它正在处理页面错误,而遇到第二个错误。 很可能这是一个堆栈溢出。
在windbg中加载dmp文件并运行以下命令:
.trap fffffa6004e45610 k 100
这将产生有问题的线程的堆栈跟踪。 请在这里发布堆栈。