windbg 加载dump监测蓝屏原因时出现重复的星星框提示解决办法

时间:2022-06-05 08:15:00

windbg   加载dump监测蓝屏原因时出现重复的星星框提示解决办法

加载dump文件出现了重复上边的信息

总结: 要reload一下环境,说明符号库未加载出现的错误,!sym noisy 显示详细信息 ,reload重载符号库,未找到的,从服务器进行下载, 注意,第一次reload 有可能不会成功, 所以我尝试了几次之后,才下载了需要的文件.

!sym noisy

.reload

符号验证:

上面讲到.reload的时候,我们说过,符号文件会出现不匹配的情况。这是很有可能的,程序员在后期测试的时候可能会将工程多次编译,为了维护多个版本而使得自己也被搞混。可以使用下面的命令验证一个模块的符号文件:

  • !chksym <模块名> [符号名]

加载选项:!sym

有两类符号加载选项。第一类是Noisy/Quiet,Noisy选项将打印符号加载的详细信息,Quiet选项则忽略这些信息。第二类是Prompts/Prompts off,即是否允许执行提示(Prompts)对话框。

一般都是在调用.reload 命令之前,执行加载选项命令,以见立竿见影之效。

所谓Noisy是吵闹的意思,调试器在搜索、加载符号的时候,会显示更多与搜索有关的信息。而安静模式下,则不会显示这些信息。不管吵闹与否,都不会影响到最终的搜索、加载结果。

当从网络上下载符号文件的时候,可能会碰到网络服务器要求客户进行安全认证的情况,如果开启Prompts选项,则弹出认证对话框,让用户输入认证信息;否则,不弹出对话框,并且不会下载符号文件。

不加任何参数的情况下,显示当前加载选项设置,下面的清单表明当前的设置为Quite及Prompts模式:

lkd> !sym
!sym <noisy/quiet - prompts/prompts off> - quiet mode - symbol prompts on
: kd> .reload
SYMSRV: BYINDEX: 0x47
d:\symbols*http://msdl.microsoft.com/download/symbols
ntoskrnl.exe
59029C7C850000
SYMSRV: UNC: d:\symbols\ntoskrnl.exe\59029C7C850000\ntoskrnl.exe - path not found
SYMSRV: UNC: d:\symbols\ntoskrnl.exe\59029C7C850000\ntoskrnl.ex_ - path not found

SYMSRV: HTTPGET: /download/symbols/ntoskrnl.exe/59029C7C850000/ntoskrnl.exe
SYMSRV: HttpQueryInfo: 80190194 - HTTP_STATUS_NOT_FOUND

符号库先从ntoskrnl.exe  这个文件夹查找ntoskrnl  差找不到,进行联网查找.结果也没查找到. 说明网站下载错误

换了好几个文件夹后,才用了正确的pdp 后缀的文件查找那个ntoskrnl.exe

  3C77A20382CE4024A425C6A53F4B167F1    //这个文件目录在symbols \ntkrnlmp.pdb  不存在,我试图把存在的文件夹改成与这个相同,结果如下报错,因为上边 原文件夹下有程序需要的文件,
SYMSRV: PATH: d:\symbols\ntkrnlmp.pdb\3C77A20382CE4024A425C6A53F4B167F1\ntkrnlmp.pdb 
SYMSRV: RESULT: 0x00000000 DBGHELP: d:\symbols\ntkrnlmp.pdb\3C77A20382CE4024A425C6A53F4B167F1\ntkrnlmp.pdb - mismatched pdb DBGHELP: ntkrnlmp.pdb - file not found DBGHELP: Couldn't load mismatched pdb for ntkrnlmp.exe *** ERROR: Symbol file could not be found. Defaulted to export symbols for ntkrnlmp.exe - DBGHELP: nt - export symbols Loading Kernel Symbols

第二次运行reload 竟然上边这步成功了.

 3C77A20382CE4024A425C6A53F4B167F1
SYMSRV: UNC: d:\symbols\ntkrnlmp.pdb\3C77A20382CE4024A425C6A53F4B167F1\ntkrnlmp.pdb - path not found
SYMSRV: UNC: d:\symbols\ntkrnlmp.pdb\3C77A20382CE4024A425C6A53F4B167F1\ntkrnlmp.pd_ - path not found
SYMSRV: UNC: d:\symbols\ntkrnlmp.pdb\3C77A20382CE4024A425C6A53F4B167F1\file.ptr - path not found
SYMSRV: HTTPGET: /download/symbols/ntkrnlmp.pdb/3C77A20382CE4024A425C6A53F4B167F1/ntkrnlmp.pdb
SYMSRV: HttpQueryInfo: - HTTP_STATUS_NOT_FOUND
SYMSRV: HTTPGET: /download/symbols/ntkrnlmp.pdb/3C77A20382CE4024A425C6A53F4B167F1/ntkrnlmp.pd_
SYMSRV: HttpQueryInfo: 801900c8 - HTTP_STATUS_OK
SYMSRV: ntkrnlmp.pdb from http://msdl.microsoft.com/download/symbols: 1266777 bytes - copied
SYMSRV: PATH: d:\symbols\ntkrnlmp.pdb\3C77A20382CE4024A425C6A53F4B167F1\ntkrnlmp.pdb
SYMSRV: RESULT: 0x00000000