故事背景:

一次真实的蓝屏分析 ntkrnlmp.exe-LMLPHP

俗话说,写代码的不一定会修电脑,但是摸索的心态还是要有的,毕竟离职前,这台电脑和自己上战场打仗不是。那么我开始分析。

Microsoft (R) Windows Debugger Version 6.12.0002.633 AMD64
Copyright (c) Microsoft Corporation. All rights reserved. Loading Dump File [C:\Windows\Minidump\120815-14492-01.dmp]
Mini Kernel Dump File: Only registers and stack trace are available Symbol search path is: SRV*C:\Symbols*http://msdl.microsoft.com/download/symbols
Executable search path is:
Windows 7 Kernel Version 7601 (Service Pack 1) MP (4 procs) Free x64
Product: WinNt, suite: TerminalServer SingleUserTS
Built by: 7601.19045.amd64fre.win7sp1_gdr.151019-1254
Machine Name:
Kernel base = 0xfffff800`0444d000 PsLoadedModuleList = 0xfffff800`04694730
Debug session time: Mon Dec 7 23:43:47.711 2015 (UTC + 8:00)
System Uptime: 3 days 13:39:02.569
Loading Kernel Symbols
...............................................................
................................................................
............................................
Loading User Symbols
Loading unloaded module list
................
*******************************************************************************
* *
* Bugcheck Analysis *
* *
******************************************************************************* Use !analyze -v to get detailed debugging information. BugCheck 3B, {c0000005, fffff8000478dea2, fffff8800e7ea5d0, 0} Probably caused by : ntkrnlmp.exe ( nt!CmpKcbCacheLookup+252 ) Followup: MachineOwner
---------

WinDbg分析结果

1.首先我看到

一次真实的蓝屏分析 ntkrnlmp.exe-LMLPHP

2.然后我开始命令跟进,输入!analyze -v

一次真实的蓝屏分析 ntkrnlmp.exe-LMLPHP

3.最后再执行一个命令!process ,确认一下是不是svchost.exe所为,svchost.exe这个进程太多了,跟到这里基本上不用往下跟了。估计是那个网络问题引起了网卡挂掉,然后硬件挂掉。

总结一下winDbg常用的命令吧

  1. !analyze -v 立即查看是哪个程序搞的死机/蓝屏/重启
  2. !process 确定是哪个程序引起的第1点挂掉
  3. lmvm nt 靠这个我也不知道是干嘛的,反正运行了之后,和第2点一样

基本上可以看到了这次挂掉的原因是因为ntkrnlmp.exe造成的,这个进程我百度了一下,发现是和硬件交互的必备进程,由此可以轻松的猜测到逗比的电脑硬件挂了,估计是显卡太热,或者硬盘太热,也可能是某个svchost.exe交互太频繁导致了内存挂机,比如我开了Idea,直接占用了2G的内存,而无法释放。

落雨

http://ae6623.cn

2015年12月8日

04-04 10:43