Windbg调试工具介绍
Posted dvlinker
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Windbg调试工具介绍相关的知识,希望对你有一定的参考价值。
目录
C++软件异常排查从入门到精通系列教程(专栏文章列表,欢迎订阅,持续更新...)https://blog.csdn.net/chenlycly/category_11397492.html Windbg是我们最常用的C++软件异常分析工具,也是最强大的分析工具之一,我们今天就来详细介绍一下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的使用
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可以到微软的官方网站中下载,下载页面的地址如下:
新版本的windbg已经内置到Windows的SDK包中,在打开的页面中找到“用于 Windows (WinDbg) 的调试工具”栏:
点击“Windows SDK”超链接,先将Windows SDK在线安装包winsdksetup.exe下载下来。
双击winsdksetup.exe,弹出如下的安装界面:
安装界面中有两个选项,一个是在线安装,一个是将安装包下载到本地来。我比较喜欢后者,把离线安装包下载下来后,可以随时随地安装,当使用软件的用户出问题时,我们可以把windbg的安装包发给他,让其安装一下,我们直接再其机器上使用Windbg。
不管选择哪种方式,按照向导走,都到下面这一步:
我们只需要勾选“Debugging Tools for Windows”选项,然后取消其他所有的勾选项,我们此处只需要安装windbg即可,不需要其他组件。
如果选择的是下载离线安装包,则打开路径后会看到两个版本,如下:
X86对应32位版本,X64对应64位版本,可以根据自己的需要去安装。双击exe安装包后,安装过程一闪而过:
没有一步一步的安装向导,安装界面消失了就表示安装完成了。安装完成后,可以到开始菜单中找WIndows Kits文件夹,在该节点下可以找到Windbg.exe,如下所示:
也可以在系统中搜索“windbg”找到Windbg.exe程序。
如果大家用的是Win10操作系统,也可以到Windows自带的应用商店中去下载最新版本的windbg。
Windbg等工具的下载链接如下:
链接:https://pan.baidu.com/s/1ID6_0RSYKbiy_tzfYDX3Ew
提取码:tn6i
以上是关于Windbg调试工具介绍的主要内容,如果未能解决你的问题,请参考以下文章