_CrtIsValidHeapPointer(pUserData)是什么意思?

_CrtIsValidHeapPointer(pUserData)是什么意思?

2010-07-15 13:50Buggiant | 分类:VC++ | 浏览7754

Expression:_CrtIsValidHeapPointer(pUserData)
这个表达式时因为什么样的错误才会出现?
还有userbreakpoint called from code at 0x7c92120e又是什么样的错误才会做这个提示?

分享到:

2010-07-15 16:17

知识大富翁,挑战答题赢iPhone

提问者采纳

参考http://richardchenblog.blog.sohu.com/32362251.html
你没有检查返回值

评论(1) | 1 0

似水tan | 四级 采纳率12%

擅长: 暂未定制

其他类似问题

·        2014-03-26程序出现_CrtIsValidHeapPointer(pUs...  3

·        2009-03-09_asserte(_crtisvalidheappointe... 3

·        2011-08-04Microsoft Visual C++ Debug Lib... 

·        2011-05-22煎熬的意思是什么 275

·        2011-05-06女孩这样的行为是什么意思 6012

更多关于_CrtIsValidHeapPointer的问题>>

2010-07-15 14:11网友采纳

不是Crtls而是Ctrls
_CtrlsValidHeapPointer(pUserData)
堆指针有效性方面的意思。
引发的错误可能内存泄漏

评论(1) | 0 3

wangaochao1980 | 七级 采纳率47%

擅长: C/C++ VC++

网友都在找:

 debug assertion failed

按默认排序 | 按时间排序

其他2条回答

2010-07-15 18:56zhsh955 | 四级

_CrtIsValidHeapPointer
检查pUserData是否有效

评论 | 0 0

2012-03-05 23:08热心网友

还有一种情况就是使用calloc函数或者malloc函数或者是ralloc函数,释放使可能数组越界,会出现这种情况

评论 | 5 0

等待您来回答

·        0回答索爱s-168的怎样调成收音机 

·        0回答有看到有人用手机开自己家的门,好像是手机门铃,哪里有得卖??

·        0回答飞利浦X2560和飞利浦V200哪个好

·        0回答faiedu翻译怎么读? 

·        0回答手机cpo吹怎么总有黑点怎么回事? 

·        0回答+99195599什么电话?????????? 

·        1回答02161292450是什么性质的电话。 

·        0回答飞利浦vtr800如何录到卡上

·        0回答联想a355ewifi怎么样

·        0回答飞利浦rq1150/16多少钱

·        0回答金立w900拒接所有电话号码 

·        0回答我的手机丢了,怎样能找到?

·        0回答 10 我的彩信没有吗? 

·        0回答手机冲值看书包月怎么抄做 

·        0回答xk3190a12e开机后显示Err3 

没有感兴趣的问题?试试更多等待您来回答的问题>>

Expression: _CrtIsValidHeapPointer(pUserData)

分类:Debug |  2007-02-02 19:20阅读(8121)评论(3)

打算把编程中出现的比较麻烦的问题都记下来,一来以后出现同样的问题有证可查,二来如果有人遇到同样的问题,那么就不用那么费劲自己死磕了~

!!Expression:_CrtIsValidHeapPointer(pUserData)

voidCImageRecView::OnFileColhistogram() 
{
 // TODO: Add your command handler code here
 CImageRecDoc *pDoc = GetDocument();
 LPSTR lpDIB;

 ColHistogram MyColHist;

 lpDIB = (LPSTR)::GlobalLock((HGLOBAL)pDoc->GetHDIB());
 
 pMyColHist->RGBtoHSV(lpDIB);

 ::GlobalUnlock((HGLOBAL)pDoc->GetHDIB());
}

问题就出在红色的地方,自定义了一个类

将上面的语句改为

  ColHistogram* pMyColHist;
 pMyColHist = new ColHistogram;

就可以了,不过现在也不知道为什么

(MSDN)中的这段话

The  _CrtIsValidHeapPointer   function   is   used   to  ensure   that   a   specific   memory   address  is   within   the   local   heap.   The   “local”  heap   refers   to   the   heap   created  and   managed   by   a   particular   instance  of   the   C   run-time   library.   If  a   dynamically   linked   library   (DLL)   contains  a   static   link   to   the   run-time  library,   then   it   has   its   own   instance  of   the   run-time   heap,   and   therefore  its   own   heap,   independent   of   the  application’s   local   heap.   When   _DEBUG  is   not   defined,   calls   to  _CrtIsValidHeapPointer   are   removed   during  preprocessing.

看了这段话稍微觉得有点意思了,我在程序中自己申请了本地堆,也有要生成动态连接库的DIB类,要连接c运行库,那么我的ColHistogram的实例必须动态生成,因为它在c运行库中没有对应的堆。比如我添加Cstringstr;程序就不会有问题,但是我只知道CString是系统定义的,和c运行库有什么关系我就不清楚了。如果静态链接C运行库,那么,dll就要拥有一个独立于应用程序(调用它的exe)的本地堆(但是我的程序没有),如果没有定义_DEBUG,那么_CrtIsValidHeapPointer将被预处理器移除。大概就是这个样子,上面所说的很多东西我都不确定,只是现在的一种解释。

还有dbgheap.c文件似乎是在dll里,还没有办法看

分享到:

  最后修改于2007-02-03 12:12    阅读(8121)评论(3)

评论     想第一时间抢沙发么?

搜狐网友

0203 04:04

回复

这个程序是把RGB换成HSV然后看Histogram
ming


搜狐网友26220611

0203 11:27

回复

搜狐网友在上文中提到:
这个程序是把RGB换成HSV然后看Histogramming


恩,是啊,求出颜色直方图做为图像特征


搜狐网友

0203 15:04

回复

卧槽,在matlab里面两句话的事情到C里面就变成个事儿了
看来我得开始看C
ming

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值