一种Windows下懒式探测野指针的方法
来源:互联网 发布:远程协助软件 编辑:程序博客网 时间:2024/05/17 04:04
一种Windows下探测野指针的方法
在一个大型项目中遇到了crt报告HEAP: Free Heap block XXXXXXXX modified at YYYYYYYY after it was freed。
原因很明确:野指针,但是因为项目里大量使用了智能指针,因此要定位问题就略头痛了。
最初是准备在程序运行时建立内存断点以监视所有对YYYYYYYY的写操作。但是刚开始运行的时候YYYYYYYY是不能访问的。
于是准备重载new 操作以在该内存块能访问的时候下断点,然而对于一个要反复分配内存的程序,手工监视某个页是否可以访问实在太麻烦了,根本没有可操作性。于是我在new里面加了如下代码:
{
static BOOL bMark=FALSE;
__try
{
if(!bMark)
{
int i=*((PUINT8)(/*出错地址*/);
_ASSERT(FALSE);
}
bMark=TRUE;
}
__except(1)
{
}
}
每次new操作之后都试图访问YYYYYYYY,如果不能访问,则进入异常处理部分直接忽略_ASSERT()及后面的代码,继续运行。如果可以访问,那么_ASSERT()会触发一个断点。此时可以手动在YYYYYYYY处设置内存断点,同时自动将bMark设置为TRUE,后面再执行到此的时候就不会停下来。如此只需要一次手动操作即可达成设置断点的效果。
实在是懒出了风格之举。 :-D
阅读全文
0 0
- 一种Windows下懒式探测野指针的方法
- c++中传递指针的一种方法
- IOS 规范设置指针的一种方法
- 一种简单的Windows密码重设方法
- windows下安装django的一种方法
- 一种windows攻击方法
- 探测远程Windows主机的NetBIOS信息
- PYTHON中的函数指针调用的一种方法
- 通过指针调用模板函数的一种方法
- C语言指针一种容易错误使用的方法
- sizeof的另外一种实现方法 -- 指针偏移
- 存储型xss漏洞的探测方法
- 9.搭建平台的探测方法
- 一种采用指针的指针的方式的建立链表的方法
- 一种Windows与Unix服务器文件同步的方法-----Samba
- windows 传递文件到ubuntu的一种方法。
- 一种Windows下线程同步的实现方法
- 一种Windows下线程同步的实现方法
- 大数相乘算法(相加,相减)
- 一款成熟的数据中心模型设计
- Android图像处理之画笔特效处理
- HDOJ 2057 A + B Again(十六进制加减,__int64)
- 多线程服务器
- 一种Windows下懒式探测野指针的方法
- 数据中心到底要用多少光模块?
- webstorm中vue语法没有提示,怎么解决?
- JS正则表达式(密码同时包含数字和字母)
- 4.元组tuple:戴上了枷锁的列表
- 纸牌博弈
- c++自定义sort函数
- 数据中心里的那些XDC们
- 输入n,求斐波那契数列第n项。斐波那契数列的第0项为0,第一项为1,之后的项依次为前两项之和。