windbg设断点命令详解(bp, bu, bm, ba 以及bl, bc, bd, be)
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)相关推荐
- Windbg调试命令详解
Windbg调试命令详解 发表于2013 年 8 月 23 日 转载注明>> [作者:张佩][原文:http://www.yiiyee.cn/Blog] 1. 概述 用户成功安装微软Win ...
- windbg 常用命令详解
一. 1. !address eax 查看对应内存页的属性 2. vertarget 显示当前进程的大致信息 3 !peb 显示process Environment Block 4. lmvm ...
- linux wget命令详解
wget命令详解 wget是在Linux下开发的开放源代码的软件,作者是Hrvoje Niksic,后来被移植到包括Windows在内的各个平台上.它有以下功能和特点: (1)支持断点下传功能:这一 ...
- 汇编语言DEBUG命令详解||汇编命令||DEBUG的常用命令:A,U,R,T,D,E,Q 等等
汇编命令 汇编语言Debug命令详解 DEBUG的常用命令:A,U,R,T,D,E,Q 等等 汇编语言DEBUG命令详解 文章目录 汇编语言DEBUG命令详解 R命令的使用 H命令的使用 D命令的使用 ...
- 汇编语言DEBUG命令||常用命令 详解:A,U,R,T,D,E,Q
汇编命令 汇编语言Debug命令详解 DEBUG的常用命令:A,U,R,T,D,E,Q 等等 汇编语言DEBUG命令详解 文章目录 汇编语言DEBUG命令详解 R命令的使用 H命令的使用 D命令的使用 ...
- linux yum命令详解
yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器.基於RPM包管理,能够从指定的服务器自动下载RP ...
- linux zip 命令详解
功能说明:压缩文件. 语 法:zip [-AcdDfFghjJKlLmoqrSTuvVwXyz$][-b <工作目录>][-ll][-n <字尾字符串>][-t <日期 ...
- Linux chkconfig命令详解
Linux chkconfig命令详解 (2011-03-07 15:49:04) 转载 标签: linux shell chkconfig 杂谈 分类: 工作*Linux chkconfig: ...
- [老男孩笔记系列]-之linux定时任务crontab命令详解
linux定时任务crontab命令详解 1.1指令语法 crontab [ -u user ] file crontab [ -u user ] { -l | -r | -e } 1.2指令说明 通 ...
最新文章
- C#中的委托和事件 (4)---事件和委托的编译代码
- CISCO 2511终端服务器配置
- rhel5 配置yum到centos源
- github的基础使用
- OpenCV HoG描述符的实例(附完整代码)
- 基础算法 —— 高精度计算 —— 高精度除法
- jquery实现上下左右键盘监听_基于 jQuery 实现键盘事件监听控件
- python面向对象训练
- 数据结构和算法——八种常用的排序算法------基数排序的优化(队列实现)
- swfobject参数详解
- GB50174-2008 电子信息系统机房设计规范
- 计算机地质制图CAD,计算机辅助地质制图
- linux的密码重置命令
- 云主机磁盘I/O %util飙高排查
- 彩色图像转换灰度图像
- 每一题-101(患某种疾病的患者)
- 美赞臣中国独立后任命朱定平为总裁;思拓凡亚洲首个技术研发卓越中心上海揭幕 | 美通社头条...
- everything + searchreplace 联合搜索
- DINE: Domain Adaptation from Single and Multiple Black-box Predictors
- Mac上Chrome浏览器跨域问题
热门文章
- Simulink仿真教程6---对控制系统的阶跃响应进行仿真
- 大势所趋,应用如何适配Android P HEIF图片格式
- 开源网络备份软件bacula(安装bacula)
- 在 mingw32 上编译 libvpx 1.7.0 时的注意事项
- BitSet 数字排序
- swift3.0:NSURLSession的使用
- iOS开发③UIView
- jQuery对下拉框Select操作总结
- ASP.Net TextBox只读时不能通过后台赋值取值
- Zend Framework 跳转方法(render, forward, redirect)区...