sysinternal suite中的livekd.exe可谓神器。可以用来观察本地内核的一些状态,当然抓内核dump再合适不过了。
在使用livekd的时候遇到了一些问题,现总结如下:
-
使用livekd进行本地内核调试,需要管理员权限,这个没啥好说的。
-
livekd需要内核文件的调试符号的支持,可以先下载好对应的pdb,也可以设置符号路径信息,让livekd自动加载,设置环境变量_NT_SYMBOL_PATH即可。我本地的设置为:
_NT_SYMBOL_PATH=SRV*C:mssymbols*http://msdl.microsoft.com/download/symbols
注意:
- 也可以通过命令行参数-y来指定符号路径。与使用_NT_SYMBOL_PATH效果一样。
- 下载符号文件需要symsrv.dll和dbghelp.dll的支持,请确保livekd可以顺利加载这两个文件。
提示:最简单的办法是安装调试工具集,并把livekd放到该目录下,因为这个目录下有上面的两个文件。
坑:我没安装调试工具集,是只把下载的sysinternal suite解压到本地硬盘上的,解压目录没有这两个文件,需要手动拷贝。 -
livekd需要kd.exe的支持,可以把与当前系统对应的kd.exe放到与livekd同一目录下,或者通过命令行参数-k指定kd.exe的完整路径。
-
如果以上几步设置好了,应该运行livekd没问题了。剩下的就是通过livekd /?来熟悉用法了,祝各位好运。