[Debug] VisualStudio 数据断点 监控指定内存的写操作
来源:互联网 发布:网络暴力的现状 编辑:程序博客网 时间:2024/06/16 01:04
功能描述:
在vs中添加一个数据断点 设置指定的内存地址和内存长度后 如果代码中有对这段内存的写操作 vs会自动断点到对应的代码中
注意:与普通断点不同的是 添加数据断点需要在启动Debug运行程序后 才可以添加(因为添加时要设置内存地址 只有进程启动了才有确定的内存地址)
我用的最多的场景》
在模块A中定义了变量int a = 1; 没有任意地方在修改a的值
经历了几个世纪的运行后 在模块B中访问变量a 发现值已经不是1了。
问题来了:到底是哪里莫名其妙修改了这个变量的值? (一般情况下都是因为内存越界修改了a所在的内存)
如果添加一个数据断点 设置内存地址为&a 监测内存长度为sizeof(int) 当别处修改a时 就直接命中了
--------------------------------------------------------------------------------------------------------
以下阐述该断点的使用方法:
1、debug调试运行程序 在声明变量“int a = 1”的位置打个断点 停在这里(声明了a后 监控的内存地址就确定了)
2、启动数据断点添加界面:工具栏DEBUG > New Breakpoint > New Data Breakpoint
之后就会停在添加界面 输入对应的起始地址(&a)和监控长度(sizeof(int)) 并点击OK按钮 如下图所示:
之后 如果别处修改这段内存 编译器会直接命中代码 点击键盘的F5或VS的continue按钮(与其他断点一样) 程序就可以继续执行下去了
(以上是我理解的数据断点 有可能有更多的使用方法或场景 大家可以自己再去搜索一下)
- [Debug] VisualStudio 数据断点 监控指定内存的写操作
- 如何往指定的内存地址写数据
- 有条件的debug断点
- VisualStudio的Debug控制台无法关闭
- Sqlserver2005监控指定数据库的操作
- VisualStudio调试-----条件断点
- VS的断点--内存断点
- [Debug] VisualStudio 远程调试
- 手动加入写数据断点
- 函数指针 往指定内存中写数据
- 函数指针 往指定内存中写数据
- 内存变量被覆盖的调试(数据断点调试)
- eclipse在maven下的断点debug
- debug断点没有命中的问题
- Eclipse的使用、Debug断点调试
- SAP--DEBUG--外部断点的设置
- 有关Debug和断点的总结
- eclipse +debug的5种断点方式
- 我的PCB电路设计(一)
- win10装vc++6.0时出现错误代码:0cx0000142
- 最少步数
- android中各种界面之间的传值
- Codeforces 362D
- [Debug] VisualStudio 数据断点 监控指定内存的写操作
- 生成某个月的日历
- instanceof运算符
- sql 子查询(mysql)
- Android EditText最大字数限制并提示
- hihocoder 139周
- J2EE中用到的英语单词
- iOS开发之Masonry框架源码深度解析
- W88 Casino Malaysia Get Welcome Bonus Join Now