bp 命令是在某个地址下断点, 可以 bp 0x7783FEB 也可以 bp MyApp!SomeFunction 。 对于后者,WinDBG 会自动找到MyApp!SomeFunction 对应的地址并设置断点。 但是使用bp的问题在于:1)当代码修改之后,函数地址改变,该断点仍然保持在相同位置,不一定继续有效; 2)WinDBG 不会把bp断点保存工作空间中 。  所以,我比较喜欢用bu 命令。

bu 命令是针对某个符号下断点。 比如 bu MyApp!SomeFunction 。 在代码被修改之后, 该断点可以随着函数地址改变而自动更新到最新位置。  而且bu 断点会保存在WinDbg工作空间中, 下次启动 Windbg 的时候该断点会自动设置上去。

另外,在模块没有被加载的时候,bp 断点会失败(因为函数地址不存在),而bu 断点则可以成功。 新版的WinDBG中 bp失败后会自动被转成bu 。

bm 命令也是针对符号下断点。 但是它支持匹配表达式。 很多时候你下好几个断点。 比如,把MyClass 所有的成员函数都下断点: bu MyApp!MyClass::* , 或者把所有以CreateWindow开头的函数都下断点: bu user32!CreateWindow* 。

以上三个命令是对代码下断点, 我们还可以对数据下断点。

ba 命令就是针对数据下断点的命令, 该断点在指定内存被访问时触发。 命令格式为

ba Access Size [地址]

Access 是访问的方式, 比如 e (执行), r (读/写), w (写)

Size 是监控访问的位置的大小,以字节为单位。 值为 1、2或4,还可以是 8(64位机)。

比如要对内存0x0483DFE进行写操作的时候下断点,可以用命令 ba w4 0x0483DFE

这里顺便提以下其他断点命令:

bl  列出所有断点

bc  清除断点

bd 禁用断点

be 启动被bd 命令经用的断点

windbg设断点命令详解(bp, bu, bm, ba 以及bl, bc, bd, be)相关推荐

  1. Windbg调试命令详解

    Windbg调试命令详解 发表于2013 年 8 月 23 日 转载注明>> [作者:张佩][原文:http://www.yiiyee.cn/Blog] 1. 概述 用户成功安装微软Win ...

  2. windbg 常用命令详解

     一. 1. !address eax 查看对应内存页的属性 2. vertarget 显示当前进程的大致信息 3 !peb 显示process Environment Block 4. lmvm ...

  3. linux wget命令详解

    wget命令详解 wget是在Linux下开发的开放源代码的软件,作者是Hrvoje Niksic,后来被移植到包括Windows在内的各个平台上.它有以下功能和特点:  (1)支持断点下传功能:这一 ...

  4. 汇编语言DEBUG命令详解||汇编命令||DEBUG的常用命令:A,U,R,T,D,E,Q 等等

    汇编命令 汇编语言Debug命令详解 DEBUG的常用命令:A,U,R,T,D,E,Q 等等 汇编语言DEBUG命令详解 文章目录 汇编语言DEBUG命令详解 R命令的使用 H命令的使用 D命令的使用 ...

  5. 汇编语言DEBUG命令||常用命令 详解:A,U,R,T,D,E,Q

    汇编命令 汇编语言Debug命令详解 DEBUG的常用命令:A,U,R,T,D,E,Q 等等 汇编语言DEBUG命令详解 文章目录 汇编语言DEBUG命令详解 R命令的使用 H命令的使用 D命令的使用 ...

  6. linux yum命令详解

    yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器.基於RPM包管理,能够从指定的服务器自动下载RP ...

  7. linux zip 命令详解

    功能说明:压缩文件.  语 法:zip [-AcdDfFghjJKlLmoqrSTuvVwXyz$][-b <工作目录>][-ll][-n <字尾字符串>][-t <日期 ...

  8. Linux chkconfig命令详解

    Linux chkconfig命令详解 (2011-03-07 15:49:04) 转载 标签: linux shell chkconfig 杂谈 分类: 工作*Linux chkconfig:    ...

  9. [老男孩笔记系列]-之linux定时任务crontab命令详解

    linux定时任务crontab命令详解 1.1指令语法 crontab [ -u user ] file crontab [ -u user ] { -l | -r | -e } 1.2指令说明 通 ...

最新文章

  1. C#中的委托和事件 (4)---事件和委托的编译代码
  2. CISCO 2511终端服务器配置
  3. rhel5 配置yum到centos源
  4. github的基础使用
  5. OpenCV HoG描述符的实例(附完整代码)
  6. 基础算法 —— 高精度计算 —— 高精度除法
  7. jquery实现上下左右键盘监听_基于 jQuery 实现键盘事件监听控件
  8. python面向对象训练
  9. 数据结构和算法——八种常用的排序算法------基数排序的优化(队列实现)
  10. swfobject参数详解
  11. GB50174-2008 电子信息系统机房设计规范
  12. 计算机地质制图CAD,计算机辅助地质制图
  13. linux的密码重置命令
  14. 云主机磁盘I/O %util飙高排查
  15. 彩色图像转换灰度图像
  16. 每一题-101(患某种疾病的患者)
  17. 美赞臣中国独立后任命朱定平为总裁;思拓凡亚洲首个技术研发卓越中心上海揭幕 | 美通社头条...
  18. everything + searchreplace 联合搜索
  19. DINE: Domain Adaptation from Single and Multiple Black-box Predictors
  20. Mac上Chrome浏览器跨域问题

热门文章

  1. Simulink仿真教程6---对控制系统的阶跃响应进行仿真
  2. 大势所趋,应用如何适配Android P HEIF图片格式
  3. 开源网络备份软件bacula(安装bacula)
  4. 在 mingw32 上编译 libvpx 1.7.0 时的注意事项
  5. BitSet 数字排序
  6. swift3.0:NSURLSession的使用
  7. iOS开发③UIView
  8. jQuery对下拉框Select操作总结
  9. ASP.Net TextBox只读时不能通过后台赋值取值
  10. Zend Framework 跳转方法(render, forward, redirect)区...