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

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

 

标准命令

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

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

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

 

控制调试目标执行

功能命令描述/助记补充信息
恢复运行gGo~123g, ~#g, ~*g
跟踪执行tTrace 
单步执行pStep 
追踪监视wtTrace and Watch Data 

 

寄存器相关

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

 

IO端口读写

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

 

内存控制

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

                   

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

 

设置维护断点

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

 

线程

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

 

进程

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

 

表达式

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

 

汇编, 反汇编

功能命令描述/助记
汇编aAssemble
反汇编uUnassemble

 

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

 

执行命令文件

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

 

配置命令

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

sq
sq
{e|d}

设置内核debugging选项soSet Kernel Debugging Options 
设置符号后缀ssSet Symbol Suffixss [a|w|n]

 

版本与系统信息

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

 

检查符号

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

 

源程序

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

 

调试符号

功能命令描述/助记
加载调试符号ldLoad Symbols
搜索相邻符号lnList Nearest Symbols
显示模块列表lmList Loaded Modules

 

调试会话

功能命令描述/助记
结束调试会话qQuit
结束远程调试qqQuit
结束调试会话并分离调试目标qdQuit and Detach

 

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

 若Windbg显示一直busy的话,请按Crtl+Break,即进入可输入命令的状态

摘自:<软件调试> 张银奎

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值