windbg 是 Microsoft 公司免费调试器调试集合中的 GUI 的调试器,支持 Source 和 Assembly 两种模式的调试。Windbg 不仅可以调试应用程序,还可以进行 Kernel Debug。结合 Microsoft 的 Symbol Server,可以获取系统符号文件,便于应用程序和内核的调试。Windbg 支持的平台包括 X86、IA64、AMD64。
那么在我们使用 windbg 的时候,虽然命令纷繁复杂,但是有一些常用的命令是我们需要掌握的,熟练的运用这些命令能给我们调试带来事半功倍的效果,因此我对常用命令进行了一个总结,方便查找。
至于其他更为复杂命令使用,我们可以通过查看官方提供的 windbg 命令手册:
https://learn.microsoft.com/zh-cn/windows-hardware/drivers/debuggercmds/commands
1.流程控制相关命令
g // Go 让程序跑起来
p // 单步步进(F10)
p 2 // 单步步进2次
pa 0x7c801b0b // 单步布进执行到 7c801b0b 地址处停下
pc // 单步步进执行到下一个函数调用处停下
q // 结束调试会话(会结束进程,但不会退出 windbg)
qd // 脱离调试会话(不会结束进程,也不会退出 windbg)
.restart // 重启目标进