博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Windbg学习 (0x0002) 命令基础
阅读量:6306 次
发布时间:2019-06-22

本文共 1336 字,大约阅读时间需要 4 分钟。

命令分为三种:基本命令,元命令,扩展命令,其中基本命令和元命令都是内建在Windbg中的,扩展命令通过加载扩展模块提供的

 

基本命令:

  包括但不限于以下:

  • 调试器控制:g(go) t(trace) p(step over)
  • 寄存器修改/查看:r
  • 内存查看 修改 搜索:d e(edit) s(search)
  • 栈观察:k
  • 断点控制:BP BA BL BC BD BE
  • 线程控制(查看切换线程):~
  • 进程控制(查看进程):  |
  • 汇编(a)、反汇编(u)
  • 执行命令文件:$
  • 设置调试时间 sx
  • 查找符号(x) 搜索符号(ln) 显示模块列表(lm)
  • 退出调试: q

元命令:

  元命令以点号 :"." 开始,提供以下功能

  • 调试器和调试会话设置的显示与设置
  • 控制调试目标、调试会话或者调试器 .sleep .restart .create .attach
  • 控制模块 .load .unload .unloadall .chain(查看加载的模块列表)
  • 远程调试 .remote(链接到远程调试服务器)  .server(启动远程调试服务器)
  • 日志
  • 内建的命令程序关键字 .if .else 等

扩展命令:

  以 叹号:"!"开始,提供扩展功能,通过动态加载(.load)扩展模块(例如 sos.dll)实现。

  扩展模块所在目录:

  

主要的扩展模块及其应用

 

除了Windbg会根据当前的Workspace的需要加载必要的扩展模块外,可以通过以下方式手动加载扩展模块:

 

 

命令输入

  • 注释 *  或者 $$ ;($$开始注释  ;结束注释)
  • ; 分割多个命令
  • 回车执行上一条命令
  • 上下箭头 浏览执行过的命令

命令别名

 

.echo 显示别名内容

Wingbd自动别名

 

 使用 $别名

 

 

用户别名

使用 : ${别名}

  • 定义 : as  v version
  • 使用  ${别名}   例如    ${v} 相当于调用 version

      显示别名内容 .echo ${v}

      *最好使用这种形式 :${别名}  明确指明这是个别名  并且最好加大括号 区分与其他命令连接时候的分界

固定别名:

 使用 : $别名 ($u0- $u9)

  • 定义 :r $u0 = version
  • 使用 :$u0  相当于调用 version $u0 不需要使用加大括号的形式 例如 ${u0}

 

伪寄存器

 

 

 可以像使用别名一样使用伪寄存器

TIPS 推荐再使用伪寄存器前加一个@,例如 @$ptrsize

 

 

流程控制 (循环 条件)

 z

r ecx=2;*设定 ecx

r ecx=ecx-1; r ecx ; z(ecx); r ecx =ecx+1;

 r ecx=ecx-1$$减一; r ecx $$显示; z(ecx)$$检查 如果为 true 执行前面的语句 否则 执行后面的语句; r ecx =ecx+1;

 

j

j 'expression' 'command 1','command2'

 

.if .else .elseif

 

进程线程限定符

 

 

日志

 .logopen .logclose .logfile

转载于:https://www.cnblogs.com/ywnwa417/p/5675810.html

你可能感兴趣的文章
MySQL和Lucene索引对比分析
查看>>
LintCode: Number of Islands
查看>>
asp调用.net xml web services
查看>>
Ubuntu 进入Root方法
查看>>
PLSQL中对cursor 使用的小例子
查看>>
SAP Business One中的快捷键
查看>>
[WinAPI] 获取窗口句柄的几种方法
查看>>
《PHP对象、模式与实践》之高级特性
查看>>
设计模式之代理模式(Proxy)
查看>>
创建游标.存储过程及包
查看>>
ios语音输入崩溃
查看>>
JavaScript——DataListBox(组合框)
查看>>
浅谈ADO.NET中的五个主要对象
查看>>
超简单实现地球坐标转高德地图坐标
查看>>
Insert Oracle CLOB column
查看>>
介绍一个JSONP 跨域访问代理API-yahooapis
查看>>
4.5. JS Minification
查看>>
单元文件结构
查看>>
备份与恢复数据库的存储过程
查看>>
OpenStack设计与实现5——RESTful API和WSGI
查看>>