WinDbg学习一(入门)
前言
一直在零零散散的摸索WinDbg知识,但是总是不成体系,所以下定决心整理出来。
简介
WinDbg 是一个调试器,可用于分析故障转储、调试实时用户模式和内核模式代码,以及检查 CPU 寄存器和内存。那么为什么不用VS呢,一个是VS安装在开发环境上,主要用于源码级调试,生产环境调试比较困难,另外一个就是发现WinDbg确实很强大,很多问题都能定位出来。
下载
在微软官网https://learn.microsoft.com/zh-CN/windows-hardware/drivers/debugger/#previous-versions-and-related-downloads。
点击下载,得到一个windbg.appinstaller的安装包文件,双击运行发现出现错误:解析应用包时出错。
我们用记事本打开文件,发现了实际下载地址
按照该地址下载得到实际安装包windbg.msixbundle,直接双击运行安装。
命令
WinDbg主要是以命令方式工作的,主要有三种命令:
标准命令
用来提供适用于各种调试目标的最基本的调试功能,不区分大小写。比如:
- g 运行
- t 单步步入
- p 单步步过
- r 查看和修改寄存器
元命令
是内建在调试器引擎或者WinDbg程序里面的。所有元命令都以(.)开始。比如:
- .reload 重新载入符号
- .reboot 重启目标机器
- .restart 重启调试器
扩展命令
用于扩展特定某一方面的调试功能。需要加载特定的扩展模块,比如调试.net程序需要SOS模块。所有的扩展命令都以(!)开头。