我有一台 Windows 7 RTM 64 位计算机,它间歇性地崩溃,我设法加载了正确的符号并得到了看似正确的分析。我不知道从哪里开始或如何修复问题,因为它似乎将其归咎于 tcpip.sys。虽然我真的不知道如何读取此输出,但以下来自 WinDBG 的摘录似乎相关:
CURRENT_IRQL: 2
EXCEPTION_RECORD: fffff80000b9c058 -- (.exr
0xfffff80000b9c058)
ExceptionAddress: fffff80002abb2b6 (nt!RtlEnumerateEntryHashTable+0x0000000000000080)
ExceptionCode: c0000005 (Access violation)
ExceptionFlags: 00000000
NumberParameters: 2
Parameter[0]: 0000000000000000
Parameter[1]: ffffffffffffffff
Attempt to read from address ffffffffffffffff
FOLLOWUP_IP:
tcpip!IppFlushNeighborSet+ba
fffff880`0186e22a 4885c0 test
rax,rax
SYMBOL_STACK_INDEX: 8
SYMBOL_NAME:
tcpip!IppFlushNeighborSet+ba
FOLLOWUP_NAME: MachineOwner
MODULE_NAME: tcpip
IMAGE_NAME: tcpip.sys
DEBUG_FLR_IMAGE_TIMESTAMP: 4a5bc26e
FAILURE_BUCKET_ID:
X64_0x1E_tcpip!IppFlushNeighborSet+ba
BUCKET_ID:
X64_0x1E_tcpip!IppFlushNeighborSet+ba
答案1
要获得真正快速的高级信息集,请尝试:
分析-v
这将为您提供大量相关信息,包括详细的堆栈跟踪。
Windows 团队博客是非常有用的资源,下面链接中的文章详细介绍了这个特定命令的作用:
调试 101:!analyze 有什么作用? - Microsoft Tech Community
另请查看 NTDebugging 博客以获取极其详细的文章。
答案2
您的“tcpip.sys”可能正在使用有问题的网络驱动程序。尝试卸载它(或它们)并查看会发生什么。
它本身也可能存在缺陷:使用专有软件你永远不知道到底发生了什么:)但乍一看Attempt to read from address ffffffffffffffff
非常奇怪:看起来像指针算术错误。
要读取输出,您需要了解 WinAPI。尝试在 Google 中搜索您遇到的函数:例如IppFlushNeighborSet()
。这可以帮助您了解正在发生的事情,也许它会指出某些问题。
答案3
实际上,windbg 帮助文件 (.chm) 是一个非常有用的工具,可以帮助您了解如何调试内核转储。http://www.dumpanalysis.org/是另一个有用的参考点。
您至少需要查看堆栈并查看是否可以返回 tcpip.sys 映像。
答案4
读这个博客请参阅 WinDBG 专家提供的一些精彩教程。