如何使用 Windbg 解释 Windows dmp 文件分析?

如何使用 Windbg 解释 Windows dmp 文件分析?

我已在此处上传了完整的调试输出。

我有一台 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 专家提供的一些精彩教程。

WinDbg/SOS 备忘单

相关内容