首页 > 系统相关 >记录一次对windows系统蓝屏信息的分析和问题处理参考的资料

记录一次对windows系统蓝屏信息的分析和问题处理参考的资料

时间:2023-03-07 15:01:03浏览次数:55  
标签:分析 文件 WinDbg dump 参考 windows https 蓝屏

文章来自,仅作记录(4条消息) WinDbg蓝屏分析入门_windbg分析蓝屏教程_星河Cynthia的博客-CSDN博客

一、如何使用WinDbg:

一、WinDbg介绍
WinDbg,英文全称为Windows Debugger,Windows调试程序。

WinDbg是Windows平台下面的一款调试工具,通过dmp文件对蓝屏、程序崩溃原因进行分析,定位问题根源。官方描述WinDbg功能为以下三点:

调试内核模式和用户模式代码
分析故障转储
在代码执行时检查 CPU 寄存器。
微软官方文档学习资料:https://docs.microsoft.com/zh-cn/windows-hardware/drivers/debugger/

WinDbg下载地址:https://developer.microsoft.com/zh-cn/windows/downloads/windows-10-sdk/

二、符号表设置
符号表是WinDbg的关键数据库,没有符号表,WinDbg无法分析出更多的问题的原因,符号表设置方法如下:

首先,Ctrl+S弹出符号表设置窗口
然后,输入:SRV*C:\Symbols*http://msdl.microsoft.com/download/symbols,点击OK


三、常用快捷键
1、打开dmp文件:Ctrl+D

2、关闭上一个dmp分析记录:Shift+F5

四、蓝屏信息分析
1、打开蓝屏dmp文件
打开蓝屏dmp文件后,显示参数System Uptime表示系统运行时间。从该参数可以得知蓝屏出现的时间,从而进行蓝屏定位,例如小于1分钟为开机蓝屏,大于1分钟为上机或者玩的过程中出现问题。如下图,在系统运行后的47分钟3秒167毫秒出现了蓝屏。

 

2、使用!analyze -v进一步分析
有时,在打开蓝屏dmp文件之后,会显示一个参数:Probaly caused by,表示可能导致蓝屏的驱动文件。如果没有这个参数,需要使用命令!analyze -v进行进一步分析。下图为执行命令!analyze -v之后显示的一个界面:

 

第一个部分表示蓝屏代码,这里的蓝屏代码为ea。

第二个部分表示WinDbg给的一些分析建议。

第三个部分表示蓝屏代码ea的四个参数。

这里通过点击help--Window,或者键盘F1进入帮助页面,查看蓝屏代码对应的参考信息,如下图。

 

关闭debugger帮助界面,继续回到WinDbg调试,通过鼠标下滑可以查看触发蓝屏相关的应用程序以及堆栈信息,如下图:

 

第一个部分表示蓝屏代码以及与之相关的四个参数。

第二个部分表示触发蓝屏的进程。触发蓝屏的进程文件可能是exe文件,也可能是dat文件或者dll文件,触发蓝屏文件的类型并不固定。但是应用程序并不是导致蓝屏的真正原因,因为用户态程序不会导致蓝屏,只有内核态程序才会导致蓝屏。

第三个部分表示堆栈信息。栈信息反映了错误发生前堆栈中的函数调用情况,从下至上进行调用。如上图,nt中的KeBugCheckEx函数被dxgkrnl中的函数TdrTimedOperationBugcheckOnTimeout调用,该函数又被dxgkrnl中的TdrTimedOperationDelay函数调用,然后TdrTimedOperationDelay函数被amdkmdag函数调用。通过这里的堆栈,分析导致蓝屏的主要原因。

另外,在堆栈信息下面有一个参数是IMAGE_NAME,表示触发蓝屏的驱动程序。如下图,触发该蓝屏的相关驱动为dxgkrnl.sys。在这里,程序FMSIScan.exe的运行触发了dxgkrnl驱动程序的一个bug,发生蓝屏。判断该蓝屏现象背后是一个驱动bug之后,通过驱动dxgkrnl.sys所属平台或者所属供应商,从而推动蓝屏bug的修复。

 

五、学习参考
1、CSDN《系统蓝屏日志DMP文件分析工具WinDbg及教程》

2、CSDN《WinDBG工具配置及蓝屏dump简单分析》

3、CSDN《Windows蓝屏DMP文件分析》

4、《微软官方WinDbg文档参考》
————————————————
版权声明:本文为CSDN博主「星河Cynthia」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/VinWqx/article/details/111675839

 

二、如何调查蓝屏的具体原因:内容来自(4条消息) 蓝屏代码0x1000007e 错误分析_jerryzhou;的博客-CSDN博客

WinDbg工具链接: https://pan.baidu.com/s/1I58KySbg-CCNH66PltIsTg 密码: k976(如何安装,参照引文1)
1、dump分析:http://www.eui.cc/3489.html
2、360专栏dump分析:http://blogs.360.cn/360safe/2013/04/02/dump-analyze-1-debug-flag-abuse-of-wdf01000-sys-bsod/
3、21.windbg-.lastevent、!analyze(dump分析、异常错误码查询):https://blog.csdn.net/hgy413/article/details/7590052
4、微软bugDoc:微软BugDoc
5、地下城与勇士贴吧同问题解决方案:https://tieba.baidu.com/p/5782980127?pn=2

最近几天电脑蓝屏3、4次,都是同样的蓝屏代码(0x1000007e ),表面上找不到原因,决定利用系统工具和WinDbg工具查看。
工具
eventvwr
WinDbg
流程
利用eventvwr查看信息
利用WinDbg查看内核详细信息

1、打开事件查看器

2、利用级别和时间排序,找到蓝屏错误的那一条记录,找到了详细信息。可以看到,日志文件dump位置,使用 Debugging Tools工具打开,查看详细信息。(注意,能记录日志的前提是已经开启了错误时,记录日志功能,如下)

3、查看dump文件之前,需要正确安装软件,并设置symbol file path,参照http://www.eui.cc/3489.html。


4、找到错误日志,使用DebuggingTools打开。

5、基本信息


6、点击!analyze -v命令,分析更详细信息,这里会加载一段时间,点击一下即可。

7、描述错误为:SYSTEM_THREAD_EXCEPTION_NOT_HANDLED_M (1000007e)
参考了Dump分析系列一,里面提到,系统发生错误时,调试模式下会自动调用调试,但在发布版本中,找不到对应调试器就会蓝屏,理论上,用户环境中,当发生错误时,进入调试环境的入口应该是关闭状态。所以在在注册表中查看该键值

8、可以看到该键值为0,也就是说,是关闭状态


9、再看这句:Probably caused by : tesrsdt.sys ( tesrsdt+a865 ),大概确定是这个进程导致的问题


10、再看栈文件,发现错误发生在tesrsdt.sys调用

查看这个文件,发现是腾讯的组件
结论:
综合网友针对此问题的求助,已经确定tesrsdt.sys是腾讯旗下TP组件驱动的问题,大致得出结论是驱动的内存偏移量导致内存崩溃。

临时解决方案:
删除system32/drivers/下的tesrsdt.sys组件,重启游戏,让其重新下载,更新为新版本。参考引文5,有人删除组件后,更新后的数字签名表明了是新版本,且没有再发现蓝屏

有人若遇到这个(这类)问题,欢迎共同探讨更优的解决方案。
————————————————
版权声明:本文为CSDN博主「jerryzhou;」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_35206244/article/details/81698818

标签:分析,文件,WinDbg,dump,参考,windows,https,蓝屏
From: https://www.cnblogs.com/FHDomain/p/17188131.html

相关文章

  • Windows操作系统安全加固-等保
    一、账户管理:1、分配账号:进入“控制面板->管理工具->计算机管理”,在“系统工具->本地用户和组”,结合要求和实际业务情况判断符合要求,根据系统的要求,设定不同的账户和......
  • 命令查看windows系统软硬件信息(systeminfo、wmic系列)
    1、systeminfo(查看计算机的基本信息,包括计算机名、网络适配器信息等)    2、wmic系列(可以将brief替换为full获得更加详细的信息)wmicdiskdrivelistbrief(查......
  • Windows下node版本管理
    有些项目较老node难免降级,新项目又需要新版本node。所以需要写一写这样的文章。一、升级与降级  node的历史版本下载地址:https://registry.npmmirror.com/binary.html?......
  • 如何在windows环境下安装启动mysql实录
    1.下载mysql笔者下载的mysql-8.0.32-winx642.生成.ini配置文件在与bin目录同级下创建my.ini文件内容如下:(笔者的端口创建为3307,通常是3306,可自定义修改)[mysqld]#设置3307端......
  • Windows开机自启动运行Java的jar包
    Windows开机自启动运行Java的jar包 本文为joshua317原创文章,转载请注明:转载自joshua317博客 https://www.joshua317.com/article/2541直接打开电脑的目录......
  • windows server 安装AppScan
    一、AppScan下载下载链接:https://pan.baidu.com/s/1csUWPiVkwBNhcUES3XzNqQ?pwd=9xdh  二、AppScan安装(1)双击“AppScan_Setup_10.0.0.exe”开始安装   ......
  • Windows下CMake 中使用 pkg-config
    #set(PKG_CONFIG_EXECUTABLE"F:/vcpkg/packages/pkgconf_x64-windows/tools/pkgconf/pkgconf.exe")#set(PKG_CONFIG_USE_CMAKE_PREFIX_PATHON)set(PKG_CONFIG_ARGN"......
  • Windows10 删除Windows.edb,释放C盘空间
    运行win10系统一段时间后,发现电脑非常卡顿,检查后发现Windows.edb文件占用内存比拟大。Windows.edb一个Window搜索服务数据库文件,索引后提供文件,内容和属性缓存的搜索结果......
  • Windows clash
    ClashforWindows教程一、Clash简介ClashforWindows是运行在Windows上的一图形化Clash分支。支持SS/VMess/VLESS/Trojan/Snell/NaiveProxy协议等。二......
  • Windows上Spotless的回车换行符问题
    在Windows上执行命令“mvncleanpackage-DskipTests”编译时报如下错误,原因是Windows默认为“\r\n”。解决办法是在仓库的根目录下创建名为“.gitattributes”的文件......