Windows 8 之 windbg 配置

怎么安装windbg? 在Win8中,要通过安装windows 8 SDK来安装.

安装之后,在C:Program Files (x86)Windows Kits8.0Debuggersx64中。

比较重要的是就是symbol file的配置。下载在

http://msdn.microsoft.com/en-us/windows/hardware/gg463028#Download_windows

symbol配置成功的关键,在于你的OS和下载的symbol file是否匹配.

查OS version, 在cmd下输入 msinfo32,  在"系统摘要"里找到"硬件抽象层",看其中的版本号,如6.2.9200.xxxx

symbol file在下载的时候,它就明确你它所支持的OS,比如上面的symbol file下载连接中,有一个是

Windows_Win8.9200.16384.120725-1247.x64FRE.Symbols(attention: symbol file : free(retail) or checked)

open Kernel Debug in Windbg, it will output :

Built by: 9200.16384.amd64fre.win8_rtm.120725-1247, 

你可以看到,当前系统是9200.16384,符号用的是free类型。

红色部分的数字要和OS version是后两组数字一致,不然,这个符号表就无法 使用.

还有一种比较明确的对比方法,就是看你当前系统的一个模块与其对应的符号表是否一致,

如在windbg中输入

!itoldyouso ntkrnimpl   [symbol_path] tkrnimpl.pdb

如果不一致,会有sig MISMATCH 输出,就是签名不一致。

使用 !lmi ntkrnimpl  可以直接查看可模块签名.

在调度symbol file过程中比较有用的命令:

!sym noisy  输出更多的debug信息。

.reload /f nt  加载NT模块看是否成功.

version 查询更多的OS信息。

.sympath SRV*C:msftpdbs*http://msdl.microsoft.com/download/symbols  从symbol server下载符号.

sympath+ C:sym1   增加搜索路径.

参考文献:

http://msdn.microsoft.com/en-us/library/windows/hardware/ff560260%28v=vs.85%29.aspx

http://www.cnblogs.com/BiffoLee/archive/2011/03/25/1995892.html

http://my.oschina.net/u/587236/blog/118534

原文地址:https://www.cnblogs.com/lvfeilong/p/dfgsdf43543.html