网上有几篇文章是写BoundsChecker的,主要是讲用途在哪,对于我这初学的,连基本使用步骤还不会,运用到实际项目中就更加困难,而且DevPartner这个软件网上有几个版本,有些个下载安装好,根本不会有错误显示(内存泄露)。
在摸索了半天后,终于找到一个可以用的版本,可支持VS2008,放在个人网盘中,下面是下载链接,后面讲使用步骤。
1.无法使用的实例,本人选择卸载重装
(1.)Error:There was an error injecting the process. The error returned was:'WatchListErrorCode=ErrorDoesNoExist',Please contact support for help.
(2.)An exception occured while attempting to ask the Injector to start forwarding events to COM!
2.安装步骤
上面提供下载的DevPartner在本人电脑已经验证通过。
(0.)截图为证
(1.)安装(直接参考下图),注意:得关闭VS2008
解压后先安装下面文件夹,然后再安装License,直接安装即可
(2.)安装好VS2008的改变
3.使用,进行内存检测
(1.)win32控制台程序
int _tmain(int argc, _TCHAR* argv[])
{
char *pchar = new char[128];
return 0;
}
(1.1)测试程序写好后,先启动环境
(1.2)环境启动成功后,出现界面
(1.3)测试程序要先按上X按钮
(1.4)启动错误检测,检测出来的就是上面【截图验证】里的两张图片,即可定位到
(2.)常规项目
#include <iostream>
using namespace std;
void functiom(int *&f)
{
int *ptemp = new int(10);
f = ptemp;
}
void main()
{
int *p = NULL;
functiom(p);
cout<<"*p="<<*p<<endl;
char* pstr = new char[102];
delete p;
p = NULL;
}
上面代码中,如果注释delete p;p=NULL;那么检测出来的结果就是: