-
-
[分享]WinDbg 10.0.xxx 版本 - Registers are not yet known 错误导致寄存器窗口无法显示内容
-
发表于:
2017-4-23 05:38
8122
-
[分享]WinDbg 10.0.xxx 版本 - Registers are not yet known 错误导致寄存器窗口无法显示内容
我是用过两款WinDbg10.0.xxx版本的调试器,10.0.10586 和 10.0.14321。
这两个调试器在内核调试模式下,寄存器无法正常显示且提示Registers art not yet known错误。
后来我在网上找到一个解决该问题的开源扩展DLL。
原文网址:http://stackoverflow.com/questions/35961246/windbg-not-showing-register-values
大致意思是:这是一个很蠢的Bug
不过可惜的是我怎么都编译不过它的源码,只能直接使用他给的DLL。
然而,我觉得这个扩展DLL用起来不方便,每次都需要我手动在WinDbg的命令行输入!WingDbg.regfix来修复寄存器无法显示的Bug。
于是乎,我对这个扩展DLL打了补丁,使它每次在WinDbg加载扩展DLL的时候(当WinDbg通过.load命令来加载一个扩展DLL时)自动调用regfix。
因为我编译不过它的源码,所以很蛋疼的写了一个转发DLL,把原有的WingDbg.dll重命名为WingDbgOrg.dll。我自己编写的DLL则命名为WingDbg.dll来转发一下。
姿势:
将WingDbg.dll和WingDbgOrg.dll放在WinDbg.exe目录下。
打开WinDbg.exe进入内核调试模式。通过.load命令加载WingDbg.dll。例如:.load wingdbg(无需加载WingDbgOrg.dll)
关闭已经打开的寄存器窗口并重新打开即可正常显示寄存器的内存。
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!