Windbg调试工具介绍

目录

1、概述

2、Windbg的使用

3、Windbg版本

4、Windbg的获取与安装


Windbg是我们最常用的C++软件异常分析工具,也是最强大的分析工具之一,我们今天就来详细介绍一下Windbg的相关内容。

图片[1]-Windbg调试工具介绍-卡核

1、概述

       Windbg是微软提供的Windows平台下强大的用户态和内核态调试利器,给我们分析Windows上软件的异常提供了极大的便利和有力的支持,比原始的直接查看代码去分析异常的效率要高的多。Windbg在某些方面甚至要比微软的Visual Studio还要强大。作为C++开发人员,必须要掌握常用的调试技巧,必须要能分析和排查软件运行过程中遇到的各种异常,必须要熟悉Windbg或GDB调试器的使用。Windows平台上主要使用Windbg,Linux平台上主要使用GDB调试器。

       Windbg是我们日常工作中用的最多的软件异常分析工具,Windbg可以静态分析dump文件,也可以附加到目标进程上进行动态调试。当然有时我们也会使用SPY++、Dependency Walker、Process Explorer、Process Monitor、API Monitor、IDA Pro等工具来辅助问题的排查。

2、Windbg的使用

图片[2]-Windbg调试工具介绍-卡核

       Windbg的主界面如上所示。Windbg可以查看到发生异常的那条汇编指令以及各个寄存器中的值,可以查看函数调用堆栈,可以查看函数调用堆栈中函数调用传递的参数信息,可以查看到内存中变量的值。Windbg在排查死循环、死锁、异常崩溃方面,有着独到的优势。我们既可以用windbg静态分析dump文件,也可以使用windbg对目标进程进行动态调试。

       Windbg入门的门槛比较低,只需掌握一些常用的Windbg命令即可,使用这些命令去查看函数调用堆栈等信息。另外,有时需要深入研究问题时,可能还要用IDA反汇编工具去查看二进制文件中的汇编代码的上下文,因为汇编代码才能最直观地看出软件崩溃的最直接的原因。所以,除了掌握Windbg之外,我们还需要学会使用IDA反汇编工具。

3、Windbg版本

       对于Windbg的版本,我们这边有无需安装的6.0绿色版本,也有需要安装的最新的10.0及以上的版本,这里推荐大家使用10.0及以上的版本。

       10.0及以上版本相对6.0版本,要智能许多,要查看相关内容时,不再需要输入各种复杂windbg命令,只需要点击windbg中显示信息中的超链接,皆可以去查看。而在6.0版本中,是不支持超链接的,命令是需要手动输入的,很多命令比较长比较复杂,使用起来很不方便。

       在使用windbg分析问题时,我们需要查看具体的函数名和变量信息,是要去加载pdb符号库文件的。6.0版本不能加载VS2017编译生成的pdb文件。6.0版本的Windbg好像是2006左右发布的,比较老了,VS2010编译出来的pdb是可以识别出来的,而VS2017是2017年发布的,修改了pdb文件的部分格式,所以老版本的Windbg6.0识别不了,所以在处理VS2017编译出来的程序时,是需要使用10.0及以上版本的。

4、Windbg的获取与安装

        最新版本的windbg可以到微软的官方网站中下载,下载页面的地址如下:

http://下载 Windows 调试工具图片[3]-Windbg调试工具介绍-卡核https://docs.microsoft.com/zh-cn/windows-hardware/drivers/debugger/debugger-download-tools

新版本的windbg已经内置到Windows的SDK包中,在打开的页面中找到“用于 Windows (WinDbg) 的调试工具”栏:

图片[4]-Windbg调试工具介绍-卡核

点击“Windows SDK”超链接,先将Windows SDK在线安装包winsdksetup.exe下载下来。

        双击winsdksetup.exe,弹出如下的安装界面:

图片[5]-Windbg调试工具介绍-卡核

安装界面中有两个选项,一个是在线安装,一个是将安装包下载到本地来。我比较喜欢后者,把离线安装包下载下来后,可以随时随地安装,当使用软件的用户出问题时,我们可以把windbg的安装包发给他,让其安装一下,我们直接再其机器上使用Windbg。

       不管选择哪种方式,按照向导走,都到下面这一步:

图片[6]-Windbg调试工具介绍-卡核

我们只需要勾选“Debugging Tools for Windows”选项,然后取消其他所有的勾选项,我们此处只需要安装windbg即可,不需要其他组件。

       如果选择的是下载离线安装包,则打开路径后会看到两个版本,如下:

图片[7]-Windbg调试工具介绍-卡核

X86对应32位版本,X64对应64位版本,可以根据自己的需要去安装。双击exe安装包后,安装过程一闪而过:

图片[8]-Windbg调试工具介绍-卡核

没有一步一步的安装向导,安装界面消失了就表示安装完成了。安装完成后,可以到开始菜单中找WIndows Kits文件夹,在该节点下可以找到Windbg.exe,如下所示:

图片[9]-Windbg调试工具介绍-卡核

也可以在系统中搜索“windbg”找到Windbg.exe程序。

        如果大家用的是Win10操作系统,也可以到Windows自带的应用商店中去下载最新版本的windbg。

Windbg等工具的下载链接如下:

链接:https://pan.baidu.com/s/1ID6_0RSYKbiy_tzfYDX3Ew 
提取码:tn6i

© 版权声明
THE END
喜欢就支持一下吧
点赞1.2W+赞赏 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容