记内存条硬件损坏蓝屏的 dump 文件分析

news/2024/11/18 5:57:36/文章来源:https://www.cnblogs.com/lindexi/p/18293074

本文记录我的电脑的内存条的硬件损坏了,导致用着用着就蓝屏,我通过启动和故障恢复配置自动蓝屏打 dump 的功能,在蓝屏时创建了 dump 文件。通过分析 dump 文件大概猜测是内存的问题

以下是我用 windbg 分析的两次蓝屏

第一次是用着 VS 的过程蓝屏了,我发现好多次都是使用 VS 蓝屏的,一开始还以为是 VS 投毒了

PROCESS_NAME:  devenv.exeTRAP_FRAME:  ffff9f8e53267420 -- (.trap 0xffff9f8e53267420)
NOTE: The trap frame does not contain all registers.
Some register values may be zeroed or incorrect.
rax=0000000000000000 rbx=0000000000000000 rcx=000010e800000006
rdx=d70dab047be00460 rsi=0000000000000000 rdi=0000000000000000
rip=fffff8054bd520ed rsp=ffff9f8e532675b0 rbp=ffff9f8e53267820r8=00007ff8221127be  r9=ffffa0800f9ad7f0 r10=8040000000201039
r11=ffffadd6eb75b7f8 r12=0000000000000000 r13=0000000000000000
r14=0000000000000000 r15=0000000000000000
iopl=0         nv up ei ng nz na pe nc
nt!MiHandleTransitionFault+0xed:
fffff805`4bd520ed 8b4138          mov     eax,dword ptr [rcx+38h] ds:000010e8`0000003e=????????
Resetting default scopeSTACK_TEXT:  
ffff9f8e`532672d8 fffff805`4be2be29 : 00000000`0000000a 000010e8`0000003e 00000000`00000002 00000000`00000000 : nt!KeBugCheckEx
ffff9f8e`532672e0 fffff805`4be27289 : 0000007f`00000000 00007ff8`219ef000 00000000`00000008 03a5ce00`00000000 : nt!KiBugCheckDispatch+0x69
ffff9f8e`53267420 fffff805`4bd520ed : ffff9f8e`53267a20 1a000004`38454867 ffffa080`0d581a20 fffff805`4bccdadc : nt!KiPageFault+0x489
ffff9f8e`532675b0 fffff805`4bd517d6 : ffff9f8e`532677f8 ffffb009`d4f2cc90 ffffa080`06030ab0 00000000`00000000 : nt!MiHandleTransitionFault+0xed
ffff9f8e`53267630 fffff805`4bd51113 : ffff9f8e`53267820 ffffadd6`eb6fff00 ffffa080`06030ab0 00000000`00000000 : nt!MiResolveTransitionFault+0x156
ffff9f8e`532676f0 fffff805`4bd4abea : ffff9f8e`53267820 00000000`00000000 ffff9f8e`532677f8 00000000`00000000 : nt!MiResolveProtoPteFault+0x7a3
ffff9f8e`532677c0 fffff805`4bd47db2 : ffffd70d`b1b80700 00000000`00000000 00000000`c0000016 00000034`00000000 : nt!MiDispatchFault+0x3ca
ffff9f8e`53267900 fffff805`4be2717e : ffffd70d`ab42b080 00000154`0fe40000 00000000`020004db 00000000`00000004 : nt!MmAccessFault+0x152
ffff9f8e`53267a20 00007ff8`acf1f71d : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : nt!KiPageFault+0x37e
00000034`ab1aa150 00000000`00000000 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : 0x00007ff8`acf1f71d

通过以上的 nt!KiPageFault 函数,即内存缺页错误堆栈,大概可以猜测和内存相关

第二个 dump 分析如下

PROCESS_NAME:  svchost.exeTRAP_FRAME:  ffff8b82b28b6d60 -- (.trap 0xffff8b82b28b6d60)
NOTE: The trap frame does not contain all registers.
Some register values may be zeroed or incorrect.
rax=9c8b7ed481500420 rbx=0000000000000000 rcx=0000000000000000
rdx=80400000001a47a8 rsi=0000000000000000 rdi=0000000000000000
rip=fffff8051973eaf7 rsp=ffff8b82b28b6ef0 rbp=ffff8b82b28b6f89r8=0a00000000000060  r9=0000000000000000 r10=0000000000000006
r11=47a8000000030546 r12=0000000000000000 r13=0000000000000000
r14=0000000000000000 r15=0000000000000000
iopl=0         nv up ei pl zr na po nc
nt!MiIdentifyPfn+0x5a7:
fffff805`1973eaf7 f00fba6e481f    lock bts dword ptr [rsi+48h],1Fh ds:00000000`00000048=????????
Resetting default scopeSTACK_TEXT:  
ffff8b82`b28b6c18 fffff805`1982be29 : 00000000`0000000a 00000000`00000048 00000000`00000002 00000000`00000001 : nt!KeBugCheckEx
ffff8b82`b28b6c20 fffff805`19827289 : ffff8b82`0000018e fffff805`19735df5 ffff8b82`b28b6d90 ffff8b82`b28b6e08 : nt!KiBugCheckDispatch+0x69
ffff8b82`b28b6d60 fffff805`1973eaf7 : 00000000`000018c0 00000000`00000000 00000000`42506650 fffff805`196bf5af : nt!KiPageFault+0x489
ffff8b82`b28b6ef0 fffff805`1973c915 : 00000000`00000100 00000026`94ffa100 00000000`00000000 fffff805`19ba44c5 : nt!MiIdentifyPfn+0x5a7
ffff8b82`b28b6ff0 fffff805`19be48ca : ffff9c8b`00000000 ffff9c8b`7cfa6a50 ffff9c8b`7cf76080 ffff9c8b`7cfa78c0 : nt!MiIdentifyPfnWrapper+0x75
ffff8b82`b28b7030 fffff805`19ba41b4 : 00000000`00000000 00000000`00000001 ffff9c8b`7cfa6000 00000000`00000001 : nt!MmQueryPfnList+0x7a
ffff8b82`b28b7070 fffff805`19ba3deb : 00000000`00000000 00000000`00000000 ffffc000`08db9730 ffff9c8b`7cfa6000 : nt!PfpPfnPrioRequest+0x80
ffff8b82`b28b70e0 fffff805`19ba1dfd : 00000026`94ffa0a8 fffff805`196c3657 00000000`0000004f 00000000`00000000 : nt!PfQuerySuperfetchInformation+0xe7
ffff8b82`b28b71b0 fffff805`19ba1aad : 00000000`00000000 00000026`94ffd300 00000026`94ffa0e0 00000000`00000000 : nt!ExpQuerySystemInformation+0x2ed
ffff8b82`b28b79e0 fffff805`1982b505 : 00000026`94ff0000 00000000`00000000 00000000`00000008 00000000`00000a0a : nt!NtQuerySystemInformation+0x5d
ffff8b82`b28b7a20 00007ffc`38070664 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : nt!KiSystemServiceCopyEnd+0x25
00000026`94ff9fa8 00000000`00000000 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : 0x00007ffc`38070664

也是挂在 KiPageFault 这里,证明应该就是内存相关问题。看到以上堆栈,只可以猜测是内存相关问题,不知道是驱动层问题,还是超频问题,还是内存条硬件损坏问题

在 lsj 的协助下,我使用了 TestMem5 工具进行测试,测试到了是一条内存条硬件损坏

拆掉损坏的内存条就不会蓝屏了

以上的蓝屏 dump 文件是通过在高级系统配置里面,点击启动和故障恢复里,配置系统失败时写入调试信息

在此之前我使用 Windows 自带的 控制面板\系统和安全\Windows 工具 的 Windows 内存诊断 工具都扫描不出来问题,这是因为此工具的内存压力不够大

这也就是为什么经常炸在 VS 的原因,因为 VS 给内存的压力足够大。使用 TestMem5 工具进行测试能够更好找到坑

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/741492.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

.NET 9 预览版 5 发布

微软在6月发布了.NET 9预览版的第五个版本。这个新版本的框架预计将在今年晚些时候正式发布,它是一个标准支持(STS)版本,将在2024年11月12日至2026年5月12日期间在多个操作系统上获得18个月的支持。这个预览版带来了性能改进和一些新特性,例如增强的AI能力、优先级无界通道…

EasyExcel当导出的文件内容为空时,报错excel无法打开xxxx,因为文件格式或扩展名无效,请确定文件未损坏

问题 EasyExcel 导出打开提示"Excel 无法打开文件 xxxxx.xlsx ,因为文件格式或文件扩展名无效 请确定文件未损坏,并且文件扩展名与文件的格式匹 排查 发现是在mysql查询完要导出的数据后,判断查询内容是否有值,如果有的话才进行excelWriter.write(dataList, writeSheet)…

读人工智能全传08人工智能的今天

读人工智能全传08人工智能的今天1. 人工智能的今天 1.1. 未来,或许有些领域会有非常明显的人工智能痕迹,有些领域则不会 1.2. 2018年,来自计算机视觉处理器公司英伟达的研究人员证明了人工智能软件能够创造出虚假的人物照片,并且能够完全令人相信它是…

Java CompletableFuture因在上下文中使用共享变量,导致线程安全问题

背景 在使用CompletableFuture.supplyAsync()时,多个异步中,同时共用的一个查询对象参数,而且在这多个任务中间会穿插地对这个对象进行更改,出现的现象就是可能会导致最终get()结果不符合我们的预期。最终调整方案就是在每个任务supplyAsync()之前单独赋予一个新的final对象…

MySQL中修改一个数据库下包含有某个相同字段的所有表的字段长度

背景 由于业务场景导致某个字段如phone_name涉及到表比较多,目前很多表都有冗余这个字段,但是前期给的字段长度只有varchar(100),不满足目前的需要了,需要把所有的表的字段长度都增大到varchar(255),如果手动一个个修改的话,那么有几百张表,很花时间,所有想到如下办法,…

领取serv00免费虚拟主机

参考 ‍ 教程地址【免费serv00虚拟机SSH登录搭建网站】 ‍ 领取地址 ​​ 领到了 ​​ 登录成功 ​​ 放放上自己的静态网站 ​​ ‍ soulio.serv00.net 缺点:网站的URL中含有中文就会404。权限很少,改不了服务器配置。如果是nginx就好了,nginx支持中文路径。 ​​ URL全英文…

新版mac配置多版本JDK切换和maven套件

新版mac配置多版本JDK和maven套件 新版本的macOS Sonoma系统配置多版本的JDK和Maven开发套件。有平时开发和学习用到的JDK是不同版本的需求,就直接安装多个版本的JDK,使用的时候直接命令进行对应版本的切换,要做到切换JDK版本,可以自己配置并在终端切换,或者使用java的版本…

4.show

学习 Admonitions(警告) - Material for MkDocs (wdk-docs.github.io) 提示 - Material for MkDocs 中文文档 (llango.com) Buttons(按钮) - Material for MkDocs (wdk-docs.github.io) 建议去看这些网站,更为详细。常用功能 便利贴 ​​ 开启 markdown_extensions:- admoniti…

5.更多

发现一个项目与 MkDocs 类似的项目 PyMdown 拓展文档 ,等待探索。1.排版模仿 以下网站使用 MkDocs 构建Material for MkDocs 的美化 - Charles Les Notebook (charleschile.com)Documentation - Home Assistant (home-assistant.io)Godot Docs – master branch — Godot Engi…

6.附录

安装插件 在 MkDocs 中,插件通常是通过 pip​ 工具安装的。你可以使用以下步骤来安装和配置 MkDocs 插件。 1.使用 pip​ 命令安装你需要的插件。例如 pip install pymdown-extensions‍ 2.更新 mkdocs.yml​ 文件。 ‍ 3.使用 mkdocs serve​ 命令本地预览你的文档网站。 ‍ …

2.快速上手MkDocs

快速上手 !!! info "注意" 每次使用 MkDocs 首先进入 python 虚拟环境。 创建项目 mkdocs new ~/mkdocs/预览网站 cd ~/mkdocs/ mkdocs serve 127.0.0.1:8000​ 预览效果 ​​ 构建网站 mkdocs build项目结构 项目结构 ├── docs/ │ └── index.md ├── …

谷歌语法

谷歌语法:帮助我们更好的检索有用信息 1、site:指定域名 例如:在博客园当中查找学习文章 site:cnblogs.com2、intitle:搜索网页标题中的关键字 例如:在博客园当中查找网页标题中包含mysql的学习文章 site:cnblogs.com intitle:MYSQL常用SQL语句3、intext:搜索网页正文中的…