嗨,我正在尝试使用WinDbg来查看memory.dmp内核转储文件,以诊断崩溃。当我打开崩溃文件并获得符号时,我得到了消息

BugCheck A, {2, ff, 4e, fffff801a42ebff2}

CompressedPageDataReader warning: failed to get _SM_PAGE_KEY symbol.
CompressedPageDataReader warning: failed to get _SM_PAGE_KEY symbol.
Probably caused by : ntkrnlmp.exe ( nt!KxWaitForLockOwnerShipWithIrql+12 )

Followup:     MachineOwner
---------

0: kd> .reload
Loading Kernel Symbols
..................................CompressedPageDataReader warning: failed      to get _SM_PAGE_KEY symbol.

Loading User Symbols
PEB is paged out (Peb.Ldr = 000000e1`114f4018).  Type ".hh dbgerr001" for details

我认为这意味着它无法加载某些符号。当我尝试!vad进程修复PEB页面错误时,我得到了
0: kd> !vad 000000e1114f4018 1

VAD @ ffffca0f084164e0
Start VPN              e111400  End VPN          e1115ff  Control Area  0000000000000000
FirstProtoPte 0000000000000000  LastPte f943916c00000002  Commit Charge               21 (0n33)
Secured.Flink                0  Blink                  0  Banked/Extend                0
File Offset              50005
  ViewUnmap NoChange PrivateMemory READWRITE

这与互联网告诉我的结果不符。

当我尝试!process方法时
0: kd> !process 000000e1114f4018 1
Searching for Process with Cid == e1114f4018
Invalid Handle: 0x114f4018
***Could not retrieve process handle from the Cid table.  Searching...

这也是一个错误,它也不会加载符号。怎么了?如果有足够的信息,则无论是符号加载还是崩溃本身。

注意:我已经尝试了MSDN页面上的解决方案,但它们无法按说明工作。问题的一部分是我不知道我是否正在正确使用命令中在PEB页面调出错误消息中给出的000000e1`114f4018地址。

注意2:这是WinDBG崩溃报告的链接。如果有人能够找出原因并解释他们如何找出原因,那将是花花公子。

https://www.scribd.com/document/326672131/Crash-Archive

最佳答案

被分页的PEB是正常的。为了提供PEB,转储必须是完整的内存转储,并且在崩溃时必须驻留相应的页面。

这基本上无关紧要,因为PEB包含用户模式状态(用户加载的模块,命令行,环境变量等),通常对于内核模式崩溃不感兴趣。

有趣的是!analyze -v输出,包括故障线程的内核模式堆栈。根据您提供的信息,我们至少可以看到崩溃代码:

BugCheck A,{2,ff,4e,fffff801a42ebff2}

Bugcheck A是一个IRQL_NOT_LESS_OR_EQUAL,这意味着您在升高的IRQL(> = DISPATCH_LEVEL)处具有无效的指针取消引用。第一个参数是错误的地址(“2”),第二个参数是IRQL(“0xFF”-这是WinDbg所说的“在处理器上禁用中断”)。

总之,这意味着某人已取消引用地址“2”,这显然不是一件好事。碰巧是在处理器上禁用了中断的情况下发生的,因此您得到了IRQL_NOT_LESS_OR_EQUAL。然后,诀窍是查看调用堆栈和错误指令,并找出“2”的来源。

关于windows - 尝试使用WinDbg来分析转储文件: PEB is Paged Out,将不加载符号,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39885483/

10-11 19:15