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