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


    故事背景:

    话说我一直都是远程公司的电脑,在我晚上11点敲代码敲得正爽的时候,被远程的主机挂掉了,毫无征兆的挂掉了,我特么还好有闲着没事就ctrl + s保存代码的习惯,要不然白敲了那么久,我以为是公司停电或者是断网,我第二天也就是今天,到了公司,摸了下电脑,发现好烫的板子,再看,哎呦,关机了。看来昨天的故障不少,下意识的进到了C:WindowsMinidump1下面看看有木有蓝屏down机的dmp文件,还真发现了,于是赶紧架上winDbg高射炮分析一下蓝屏代码。

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

    Microsoft (R) Windows Debugger Version 6.12.0002.633 AMD64
    Copyright (c) Microsoft Corporation. All rights reserved.
    
    
    Loading Dump File [C:WindowsMinidump120815-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.首先我看到

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

    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日

  • 相关阅读:
    [多线程学习笔记]条件变量
    [多线程学习笔记]互斥量
    [多线程学习笔记]线程生命周期
    多定时器队列
    双向环形链表
    多目录,多可执行文件的Makfile的编写
    大工匠
    从零开始打造我的计算机系统【运行效果】
    从零开始打造我的计算机系统【交叉汇编器】
    C中的回调函数
  • 原文地址:https://www.cnblogs.com/ae6623/p/5029628.html
Copyright © 2020-2023  润新知