WinDBG命令概览(上) - 标准命令
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 |
设置内核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 |
结束远程调试 | Quit | |
结束调试会话并分离调试目标 | qd | Quit and Detach |
在命令编辑框中输入一个问号(?), 可以显示出主要的标准命令和每个命令的简单介绍.
摘自:<软件调试> 张银奎
转载于:https://www.cnblogs.com/Fido/archive/2011/12/26/2302256.html
WinDBG命令概览(上) - 标准命令相关推荐
- arp命令linux上,arp命令 - Linux命令大全 | linux教程
arp命令的英文全拼"Address Resolution Protocol" .该命令用于操作主机的arp缓存,它可以显示arp缓存中的所有条目.删除指定的条目或者添加静态的ip ...
- linux shell 网页,Linux上shell命令
Linux上shell命令 Linux上shell命令 日期:2014-05-16 浏览次数:20328 次 Linux下shell命令 Linux下shell命令 adduser 创建新的用户账户 ...
- 【每天一个 Linux 命令】网络相关命令(ifconfig、route、ping、traceroute、netstat、ss、telnet、rcp、scp)
文章目录 ifconfig命令 ifconfig命令使用示例 route命令语法 route命令使用示例 ping命令语法 ping命令使用示例 traceroute命令语法 traceroute命令 ...
- Linux和Windows命令行中使用命令的输出(删除几天前的日志)
如果我们需要在命令行中使用命令的结果,需要怎么做? 很常见的一种情况是我们需要当前工作目录的路径.在Linux下,可用这样: $ echo `pwd` $ ./mdu `pwd` 在Windows下面 ...
- scp linux 命令加密码,scp命令_Linux scp 命令用法详解:加密的方式在本地主机和远程主机之间复制文件...
scp命令用于在Linux下进行远程拷贝文件的命令,和它类似的命令有cp,不过cp只是在本机进行拷贝不能跨服务器,而且scp传输是加密的.可能会稍微影响一下速度.当你服务器硬盘变为只读read onl ...
- WinDBG命令概览
转自: http://www.cnblogs.com/awpatp/ WinDBG的大多数功能是以命令方式工作的, 本系列将介绍WinDBG的三类命令, 标准命令, 元命令和扩展命令. ======= ...
- Go 学习笔记(37)— 标准命令(go build 跨平台编译、交叉编译、go clean、go run、go fmt、go install、go get)
1. 标准命令简述 Go 本身包含来大量用于处理 Go 程序的命令和工具. 命令 作用 build 用于编译指定的代码包或 Go 语言源码文件.命令源码文件会被编译成可执行文件,并存放到命令执行的目录 ...
- Go 学习笔记(2)— 安装目录、工作区、源码文件和标准命令
GOROOT: Go 语言安装根目录的路径,也就是 GO 语言的安装路径. GOPATH: 若干工作区目录的路径.是我们自己定义的工作空间.在 Go Module 模式之前非常重要,现在基本上用来存放 ...
- shell编程:定义简单标准命令集
shell是用户操作接口的意思,操作系统运行起来后都会给用户提供一个操作界面,这个界面就叫shell,用户可以通过shell来调用操作系统内部的复杂实现,而shell编程就是在shell层次上进行编程 ...
最新文章
- ul li设置横排,并除去li前的圆点
- python pil_使用Python的PIL模块来进行图片对比
- 地域和地方的区别_商标、品牌、LOGO,三者区别在哪里?
- linux vnc服务重启,CentOS下配置VNCServer,重启服务仍然生效
- Pyomo+GLPK使用
- JAVA四种基本排序总结
- 【渝粤题库】广东开放大学 物业财税管理基础 形成性考核 (2)
- MATLAB可以打开gms文件吗,gms文件扩展名,gms文件怎么打开?
- 三相逆变器双pi控制器参数如何调节_光伏逆变器短路特性简析
- 从英伟达 vs ATI的芯片大战看GPU前世今生
- 使用ZLIB对datasetProvider.data数据包进行压缩传输的测试
- linux 汉化记述
- HP M1136打印机 Mac驱动程序分享
- 构建会员运营管理系统 帮助零售企业数字化转型
- 使用spss求标准化的线性回归方程
- 硬盘格式化了怎么恢复数据
- 【惊了】迅雷下载速度竟然比不上虚拟机中的下载速度
- 计算机体系结构的主要原理,《计算机组成原理》计算机体系结构.pdf
- 串口传输速率为9600bps意味着每分钟最多可传送多少个ASCII码字符
- 终于可以携号转网,三大运营商做了10年,技术难点到底在哪?
热门文章
- 【小家Java】Java环境变量(Env)和系统属性(Property)详解---工具文章
- Gorgon黑客组织再显新招:通过在线网盘发起“三重奏”攻击
- 可以翻译ppt文档的软件有哪些?
- Java字符串反转以及数组集合转换的方法
- 网易云音乐“内外人格测试”思考
- OpenGL概述(核心模式与立即模式、扩展、OpenGL中的对象)
- OpenGL学习---1.1 OpenGL基本介绍
- 管理经济学【十二】之 企业产品定价实践
- 软考报名已全部截止,疫情之下,这些要求不满足不得进入考场
- 解密区块链:当你最需要信任的时候,它会为你建立信任