更新时间:2023-02-10 13:03
Windbg是在windows平台下,强大的用户态和内核态调试工具。相比较于Visual Studio,它是一个轻量级的调试工具,所谓轻量级指的是它的安装文件大小较小,但是其调试功能,却比VS更为强大。它的另外一个用途是可以用来分析dump数据。
Windbg是Microsoft公司免费调试器调试集合中的GUI的调试器,支持Source和Assembly两种模式的调试。Windbg不仅可以调试应用程序,还可以进行Kernel Debug。结合Microsoft的Symbol Server,可以获取系统符号文件,便于应用程序和内核的调试。Windbg支持的平台包括X86、IA64、AMD64。
虽然windbg也提供图形界面操作,但它最强大的地方还是有着强大的调试命令,一般情况会结合GUI和命令行进行操作,常用的视图有:局部变量、全局变量、调用栈、线程、命令、寄存器、白板等。其中“命令”视图是默认打开的。
初学者可以通过熟悉一些常用的调试命令开始,下面简单介绍常用的命令:
查看版本信息:version、vertarget
查看模块信息:lm、!dlls、!lmvi等
内存操作:读内存用d命令,写内存用e命令
符号命令:.reload加载符号, .sympath设置符号路径, !sym设置符号选项
进程线程:!process显示进程信息; .process显示当前进程,或用.process /i 切换当前进程;!peb显示进程环境块内容;~命令显示线程列表,用~n s可切换当前线程,n表示线程号;.thread显示当前线程。