读书人

一个内存泄露找了半天原因也没有找出来

发布时间: 2012-05-09 12:13:59 作者: rapoo

一个内存泄露找了半天原因也没有找出来
出错信息:
Unhandled exception at 0x004f64fa in newdemo.exe: 0xC0000005:
Access violation reading location 0x0dce00e1.
出错代码:
static int numsave=0;
char buffersave[20];
sprintf(buffersave,"c:\\trainc\\%d.bmp",numsave);
cvSaveImage(buffersave,sampleImg);
numsave++;

cvSaveImage(buffersave,sampleImg);运行不过,cvSaveImage调用opencv函数

奇怪,有时可以运行可以通过,有时不可以
基本上运行不了
什么问题,什么问题。。。。

[解决办法]
20虽然小了点,不过numsave小于10万之前不会出错c:\trainc\.bmp加上\0一共15,错误不知道是不是这里
[解决办法]
\\其实是转义的,等同于一个\。你把数组设大点看看。
[解决办法]
char buffersave[20];
初始化一下,另感觉cvSaveImage()代码里可能存在问题……=
[解决办法]
可以调试一下看看反汇编,读操作越界了貌似。

读书人网 >C++

热点推荐