前段时间给工作用的笔记本升级到了 Win11,升级之后就频繁出现蓝屏问题,由于对 Windows 下的开发不是很熟悉,加上蓝屏的时候基本都是工作时间,也就没有排查具体原因。
这个周末又碰上蓝屏了,恰好赶上这周 chatgpt 使用的飞起,所以希望借助 chatgpt 快速排查下。
进入正题。
首先,问一下 gpt:Win11 查看崩溃日志。
根据回答,我打开了 windows 的事件查看器。在 windows 日志 -> 系统日志中进行筛选最近 30 天的日志,并将事件来源设置为 BugCheck,发现 BugCheck 每次报错都是对应一次蓝屏。
event_viewer.jpg根据事件信息,发现每次崩溃都是生成了一个 coredump 文件的。
接下来问 gpt:windows 下如何查看 C:\WINDOWS\MEMORY.DMP 文件。
根据 gpt 的回答,在windows下需要使用 WinDBG 工具查看 MDP 文件。WinDBG 是 windows 下的 debug 工具,可以用来对 kernel 或者 应用程序进行 debug,安装文档:https://learn.microsoft.com/en-us/windows-hardware/drivers/debugger/debugger-download-tools。
安装完之后,以管理员身份打开 WinDBG,在菜单栏中选择 Open DUMP file,选择 C:\WINDOWS\MEMORY.DMP 文件,如果不使用管理员身份打开 WinDBG,就没有权限打开 C:\WINDOWS 目录下的文件。
根据 gpt 的回答,WinDBG 加载完 DMP 文件之后,通过点击 !analyze -v
命令就能自动分析崩溃信息。也可以手动输入 kd>
之后的输入框中输入 analyze -v,是同样的效果。
可以看到 analyze 会打印不少信息,前面输出的 KEY_VALUES_STRING 是 coredump 系统的一些信息,蓝屏的关键的信息在最后面。
找到 PROCESS_NAME 的位置,发现触发蓝屏的进程是 chatgpt.exe 。
process_name.jpg再往下翻,看到崩溃原因和 sgepsp 这个 module 有关。这个模块是干啥的呢?问了下 chatgpt,这次 chatgpt 也不知道这个模块是干啥的。google 了一下也没有任何信息。
sgepsp_module.jpg通过点击 sgepsp,可以看到关于这个模块的一些信息,相当于执行了命令 lmvm sgepsp
我们看到这个模块对应的文件其实是在 C:\Windows\System32\drivers 目录下,到文件浏览器中右键查看该文件的详细信息
fileinfo.jpgSkyGuard ?原来如此!
SkyGuard 是一款安全防护软件,很多公司为了防止数据泄露,会给员工笔记本上安装该软件。我司也是 SkyGuard 的客户。这个软件的主要作用就是实时防控笔记本的内容泄露。不是很清楚其原理,但猜测它应该会拦截操作系统中很多软件的系统调用,如果拦截过程中或者放行或称中出现了问题,那必然是蓝屏。
其实在升级到 Win11 之前我的笔记本并没有出现过蓝屏,升级到 Win11 也是出于个人喜好,想体验一下新系统的新功能。看来 SkyGuard 没有对 Win11 做好适配,或许仅仅是我当前使用的这个版本才有此问题。
由于 SkyGuard 的特殊性质,不打算对其进行深入分析,暂且认为我司当前使用的版本没有适配好 Win11 吧。
通过这次排查问题,点开了 Windows 下使用 WinDBG 的技能。
网友评论