数据断点
来源:互联网 发布:程序员有转行的吗 编辑:程序博客网 时间:2024/05/18 17:02
前言:
在一个大的项目里面,对一个良好编程风格的作用感触会很深。
有的时候一些Struct或者Public的Class的数据成员总是让我们感到困惑,因为我们有时候是很难监控到它们是什么时候被改变的,当代码很多很乱的时候,靠“人肉搜索”基本上是无法真正找到改变的代码的,有的时候莫名其妙的就被改掉了,这种行为和可能性都很容易出现的。如果有一组Get和Set的话,可以在这个函数里面设置一个断点就可以知道是什么时候被改变的了。(所以我们在做大数运算的时候会加入一个这两个函数)
这种时候大家可以尝试使用数据断点来处理。下面是使用数据断点的简易教程。
(1)数据断点怎么设置的:
vs中按F11,会进入调试状态;
点击新建,建立数据断点,进入
注意啦!!!
数据断点是通过监视内存地址某一段区域更改来实现的,因此你必须提供一个内存地址(或者说就是指针吧),这里num是一个整形变量,因此你需要使用“num”的形式来创建一个数据断点,因为整形的 大小是4个字节,因此数据断点监视的区域是4个字节。 比如说你要看num是在哪个时候变的就要在地址那块写num的地址。
继续程序的执行,如果这是num的只改变了就会弹出一个对话框,告诉你有一个内存地址的内容发生了变化(说明我们的数据断点生效了),这时代码行指向的是数据被修改的下一行代码。
数据断点的执行原理应该是Windows内存管理里面的Guard Pages概念和VirtualProtectEx函数的实现。
大端&小端:
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- 数据断点
- 数据断点
- 数据断点
- 程序断点与数据断点
- 程序断点与数据断点
- 程序断点与数据断点
- 程序断点与数据断点
- 数据断点调试
- 数据断点调试技巧
- gdb打数据断点
- send断点数据地址
- 数据断点使用
- VS2012添加数据断点
- VC条件断点和数据断点
- 调试实战之数据断点
- Visual Studio的数据断点
- 手动加入写数据断点
- VS2005的数据断点功能
- The import javax.servlet.http.HttpServletRequest cannot be resolved
- 高清图test~女巫~~【转载】
- 第七章:Dubbo微服务打成可执行jar包(ivan-dubbo-server)
- jsp中使用ajax请求,另一个jsp接受请求插入mysql出现乱码,解决方法
- 25mm~300mm(35等效) 人像虚化效果…
- 数据断点
- RPM操作
- 大数据教程(一)—— Hadoop集群坏境搭建配置
- jsp导出excel自动变成了科学计数法的显示的问题
- YUM操作
- 105mm 157mm(等效) f2.8…
- 系统自动更新
- 关于光圈全开后的画面好坏比较、奶…
- Centos7配置LAMP环境