现在的位置: 首页 > 自动控制 > 工业·编程 > 正文

WinDBG命令概览(上) :标准命令

2013-11-02 22:27 工业·编程 ⁄ 共 1907字 ⁄ 字号 暂无评论

WinDBG的大多数功能是以命令方式工作的, 本系列将介绍WinDBG的三类命令, 标准命令, 元命令和扩展命令.

标准命令

===============

标准命令用来提供适用于所有调试目标的基本调试功能.

所有基本命令都是实现在WinDBG内部的, 执行这些命令时不需要加载任何扩展模块. 大多数标准命令是一两个字符或者符号, 只有version等少数命令除外. 标准命令的第一个字符是不分大小写的, 第二个字符可能区分大小写. 迄今为止, WinDBG调试器共实现了130多条标准命令, 分为60多个系列. 为了便于记忆, 可以根据功能将标准命令归纳为如下18个子类.

控制调试目标执行

功能 命令 描述/助记 补充信息
恢复运行 g Go ~123g, ~#g, ~*g
跟踪执行 t Trace  
单步执行 p Step  
追踪监视 wt Trace and Watch Data  

寄存器相关

功能 命令 描述/助记 补充信息
观察和修改通用寄存器 r Registers  
读写MSR寄存器 rdmsr和wrmsr Read MSR and Write MSR  
设置寄存器显示掩码 rm Register Mask  

 

IO端口读写

功能 命令 描述/助记
读IO端口 ib, iw, id Input from port (byte, word, double word)
写IO端口 ob, ow, od Output to port (byte, word, double word)

 

内存控制

功能 命令 描述/助记 补充信息
观察内存 d系列 Display Memory d, da, db, dc, dd, dD, df, dp, dq, du, dw, dW, dyb, dyd
编辑内存 e系列 Enter Values e, ea, eb, ed, eD, ef, ep, eq, eu, ew, eza, ezu
搜索内存 s Search Memory sb, sw, sd, sq, sa, su

                  

功能 命令 描述/助记 补充信息
观察栈 k系列 Display Stack Backtrace k, kb, kc, kd, kp, kP, kv

 

设置维护断点

功能 命令 描述/助记
软件断点 bp, bu, bm Set Breakpoint, Set Unresolved Breakpoint, Set Symbol Breakpoint
硬件断点 ba Break on Access
管理断点 bl Breakpoint List
清除,禁止,重新启用断点 bc, bd, be Breakpoint Clear, Breakpoint Disable, Breakpoint Enable

 

线程

功能 命令 描述/助记
显示控制线程 ~ Thread Status

 

进程

功能 命令 描述/助记
显示进程 | Process Status

 

表达式

功能 命令 描述/助记
评估表达式 ? Evaluate Expression
评估C++表达式 ?? Evaluate C++ Expression

 

汇编, 反汇编

功能 命令 描述/助记
汇编 a Assemble
反汇编 u Unassemble

 

功能 命令 描述/助记
显示段的选择子 dg Display Selector: shows the segment descriptor for the specified selector

 

执行命令文件

功能 命令 描述/助记 补充信息
运行命令脚本文件 $ Run Script File $<, $><, $$<, $$><, $$>a<

 

配置命令

功能 命令 描述/助记 补充信息
异常发生或者某事件发生时debuger的处理方式 sx系列 Set Exceptions sx, sxd, sxe, sxi, sxn, sxr, sx-
启用与禁止静默模式 sq Set Quiet Mode

sq
sq{e|d}

设置内核debugging选项 so Set Kernel Debugging Options  
设置符号后缀 ss Set Symbol Suffix ss [a|w|n]

 

版本与系统信息

功能 命令 描述/助记
显示调试器和调试目标版本 version Show Debugger Version
显示调试目标所在系统的信息 vertarget Show Target Computer Version

 

检查符号

功能 命令 描述/助记
检查符号 x Examine Symbols

 

源程序

功能 命令 描述/助记 补充信息
控制和显示源程序 ls系列 List Source Lines ls, lsa, lsp, lsc, lsf

 

调试符号

功能 命令 描述/助记
加载调试符号 ld Load Symbols
搜索相邻符号 ln List Nearest Symbols
显示模块列表 lm List Loaded Modules

 

调试会话

功能 命令 描述/助记
结束调试会话 q Quit
结束远程调试 qq Quit
结束调试会话并分离调试目标 qd Quit and Detach

 

在命令编辑框中输入一个问号(?), 可以显示出主要的标准命令和每个命令的简单介绍.

给我留言

留言无头像?