windows机器登录后桌面显示蓝屏
若要唤醒屏幕,请使用下列键盘快捷方式之一:Windows徽标键 + P 或Ctrl + Alt + Del。
对于黑屏,请使用以下键盘快捷方式:Windows徽标键+ Ctrl + Shift + B。
有关详细信息,请参阅解决 黑屏或空白屏幕错误。
如果你有 Surface,请参阅Surface 无法打开或无法从睡眠状态唤醒。
1、首先,如果我们遇到了蓝屏现象,首先尝试重启系统,查看是否能够正常启动系统;
2、可以正常启动的话,右键点击桌面上的“计算机”,选择“管理”
3、接着在弹出窗口左侧展开“系统工具”,选择“事件查看器”
4、在事件查看器中,我们就可以看到具体是什么问题导致的蓝屏;
5、接着只要根据蓝屏的情况以及事件查看器显示的问题对症下药就能解决问题了。
『.dmp』 是存储着软件运行崩溃时刻的一些 “场景” 和调试符号的文件;可看作崩溃原因的 “场景再现”。
『WinDbg』 是一款分析 dmp 崩溃文件的开源工具,功能很强,由 Microsoft 出品 官网 。
WinDbg Preview 可直接在 Microsoft Store 中下载;
WinDbg 正式版在集成在 windows-sdk 中,可选为仅安装 Windbg;
蓝屏解析工具WinDbg得使用方法
WinDbg 首推它的 Preview 版本,在微软商店里可以直接下载。功能和老版一样,但是界面更现代,操作更简单。
首先要准备的是在系统属性里,把崩溃转储选项打开。下次蓝屏的时候,系统会自动把内存转储成文件 dmp,我们可以通过调试这个文件定位问题。
蓝屏发生后, 会在C:\Windows\Minidump 目录下多了些 dmp 文件。
然后用 WinDbg 打开 dmp 文件,等待加载完成。
使用 WinDbg 分析崩溃场景,需要信息。
.dmp文件,简中译名 “转储文件”
.pdb符号文件,源码 [可选];高阶用法,暂不展开
分析步骤
开始调试,依次执行命令如下:
!analyze -v // 分析
.ecxr // 查看当前异常的上下文信息、和部分寄存器信息
lmvm "模块名" // 下载对应 .pdb
kb // 显示堆栈崩溃,具体到行
WinDbg详细案例分析:
输入符号路径窗口;可以随便输入一个路径,这里我输入 .dmp 的存放路径
D:\dmp
因若默认为空,后面 WinDbg 加载 .dmp 文件后会长时间无响应, 只有资源管理器杀死重开。
2. File - Open Crash Dump
选中当前 .dmp 打开
3. 执行如下命令
!analyze -v
开始分析,稍等片刻,有时此过程很慢,标志是左下角会显示 BUSY! 繁忙提示
4. 执行
.ecxr
查看的相关信息,查看当前异常的上下文信息、和部分寄存器信息【重要】
5. 执行后,可以看到崩溃堆栈打印的 dll 模块名为cloudservice
执行
lmvm cloudservice
获取此 dll 的详细信息,按照时间去 Jenkins 构建上,下载与此时间最近的 .dll 同时生成的
cloudservice.pdb
符号文件;
6. 将刚找到的
cloudservice.pdb 文件放入刚才的 D:\dmp路径下;重新打开 1 步骤窗口,这次勾选左下角“Reload”
重新加载。
再按上面命令顺序来一遍,依次执行:
!analyze -v // 分析
.ecxr // 查看寄存器和模块信息
kb // 查看崩溃堆栈
若是当前代码的版本恢复到和 WinDbg 提示的 dll 版本一致(可通过 Jenkins 查看编译时间和提交的哈希确定),则基本是准的。若是代码版本领先于 dll 版本,那么也有具体崩溃的函数,崩溃位置也是在提示行数附近偏移一点。
其实在 6 步骤中,还可以点击前面的序号,查看崩溃此函数时,里面的一些局部变量的信息。
加入交流群
请使用微信扫一扫!