2 lsw1wsl lsw1wsl 于 2016.03.24 18:39 提问

c++ memcpy的崩溃问题
c++

程序有时候运行到memcpy会崩溃,但不是每次必崩溃的,代码如下:
struVTRecord.firstPic.resize( pVtRecord->vtViewPicInfo[0].imgFrame.pImage->nSize );
memcpy( &struVTRecord.firstPic[0], pVtRecord->vtViewPicInfo[0].imgFrame.pImage->cImageData[0], pVtRecord->vtViewPicInfo[0].imgFrame.pImage->nSize );
已经对firstPic进行扩容,应该不是溢出的问题,程序调用堆栈如图程序调用堆栈

4个回答

fanyun_01
fanyun_01   2016.03.24 20:39
已采纳

在_VEC_MEMCPY的上一行加打印,将copy的值打印出来,看值是否超出你的变量值范围

lx624909677
lx624909677   Ds   Rxr 2016.03.24 18:52

pVtRecord->vtViewPicInfo[0].imgFrame.pImage->nSize看下这个变量的值是否正常

lsw1wsl
lsw1wsl   2016.03.24 18:54

图片说明
这个参数的值看上去没问题啊

lightlater
lightlater   2016.03.24 20:24

看你的memcpy有一个随机值,建议打印出长度相关的参数数值!

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!