Windbg 是微软开发的一款强大的调试工具,用于调试 Windows 操作系统和应用程序。它支持各种调试技术,包括用户模式和内核模式调试、本地和远程调试、源代码和汇编级别调试等。以下是 Windbg 中一些常用的命令:
标准命令:
g
- 继续执行程序直到遇到下一个断点或者异常。k
- 显示调用堆栈(Call Stack)。p
- 执行下一条指令。t
- 执行当前线程直到遇到下一个断点或异常。dt
- 显示类型的数据内容。dv
- 显示变量的值。dps
- 显示内存地址的内容。u
- 反汇编指定地址的代码。bp
- 设置断点。bl
- 列出所有断点。bc
- 清除指定断点。ba
- 设置硬件访问断点。bm
- 设置消息断点。ln
- 查找符号地址。x
- 显示内存区域或模块的符号信息。r
- 显示或修改寄存器内容。q
- 退出调试器。.time
- 显示或设置时间截断选项。
元命令:
.chain
- 显示当前调试器链。.load
- 加载调试器扩展插件。.unload
- 卸载调试器扩展插件。.restart
- 重新启动目标计算机或进程。.sympath
- 设置符号路径。.reload
- 重新加载符号表。.logopen
- 打开调试器日志文件。.logclose
- 关闭调试器日志文件。
扩展命令:
!analyze
- 分析当前异常。!address
- 显示内存使用情况。!heap
- 显示堆信息。!pool
- 显示非分页池信息。!locks
- 显示锁状态。!threads
- 显示线程列表。!teb
- 显示当前线程环境块信息。!process
- 显示进程信息。!handle
- 显示句柄信息。!token
- 显示安全令牌信息。
以上仅列出了 Windbg 中的一些常见命令,实际上它的功能非常强大,可以进行复杂的调试任务。对于具体的调试场景,可能需要结合使用不同的命令来达到预期的效果。在实际使用过程中,可以参考官方文档或相关教程以获取更全面的信息。
- Microsoft 官方文档:安装 WinDbg - Windows drivers | Microsoft Learn