赞
踩
本文主要介绍WinDbg的入门知识,包括:下载安装、启动、配置和简单的用户模式调试示例。在我学习WinDbg的过程,主要参考了“WinDbg软件自带的用户手册”和http://www.dbgtech.net/blog/。其中,dbgtech网站的作者还制作了“http://www.dbgtech.net/windbghelp/”,在线的中文windbg帮助文档。
一、下载安装
1,搜索网址
通过Mircrosoft的bing搜索“windbg”即可获取windbg的下载地址:
https://developer.microsoft.com/en-us/windows/hardware/windows-driver-kit
2,安装“VS2015+WDK10”
该网址提供了VS2015和WDK10的下载链接。在win10系统下,需要先安装VS2015,选择自定义安装,并主动选择安装C++相关组件,然后再安装WDK10。windbg已经集成到了windows kits中,通过这样的安装形式,即可在开始菜单的“Windows Kits”中找到windbg的启动项。
3,windows键启动
此外,安装好“VS2015+WDK10”后,也可以通过“win+R”,直接输入“windbg”启动windbg.exe。在win10 64位系统下,默认启动的是64位的windbg.exe,而在开始菜单中,是可以选择启动32位的windbg.exe的。
二、配置
WinDbg的环境配置包括:符号、源码和可执行映像的路径设置,如下图,点开WinDbg的File菜单,即可设置。在使用调试器之前,我们需要先配置好这些路径,以便调试器能够识别调试目标中的各种变量、函数等等,这样我们在调试器中看到的就不是一堆二进制和汇编代码,而是更易理解的函数和变量。
1,symbol file path
我们知道,程序运行需要将相关二进制文件(包括.exe和.dll文件)加载到内存地址空间,即内存映射文件。内存映射文件包含的是二进制信息,我们在调试时看起来会比较困惑,所以,我们需要一批跟这些二进制文件配套的符号文件(后缀名为“*.pdb”)供调试时使用,它包含函数名、变量名等各种符号和调试信息,实际程序运行并不需要它。
百度百科:http://baike.baidu.com/view/3788304.htm
symbol file一般包括两类,一类是我们自己的程序的.exe和.dll文件的对应.pdb文件,另一类是系统dll的符号文件,如kernel32.dll等。我们把系统dll的符号文件称为“Mircrosoft公共符号文件”。
1)Symbol Server
对于Mircrosoft公共符号文件,我们一般使用“ cache* + srv* ”,即设置为在线服务器,并缓存部分文件到本地主机。这样就不用每次都从在线服务器去下载符号文件了,而只是更新部分符号文件。
为此,我们需要先新建一个本地缓存文件夹,我的是:F:\SymbolCache
然后,将该路径设置为系统环境变量,这样可以省去每次都重新设置的麻烦。
a. 将windbg的安装路径添加到系统path中
该路径下需要包含“symsrv.dll”和“symstore.exe”两个文件,分别用于symbol server和cache。
b. 新增系统环境变量项:_NT_SYMBOL_PATH 值为: SRV*F:\SymbolCache*http://msdl.microsoft.com/download/symbols
具体可以在help文档中搜“symbol”,查看“symbol file and symbol path”。
2)目标程序符号文件
直接通过命令“.sympath+ ”设置目标程序符号文件路径即可。
2,源码路径<
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。