我遇到了以下错误导致应用崩溃:
我有几个问题需要帮忙解答:"CGDataProviderCreateWithCopyOfData: vm_copy failed: status 1."
在vm_copy失败中,状态1代表什么意思?
当我在数据复制的内部for循环中设置断点后恢复并删除断点时,才会发生此崩溃。如果没有断点,函数将执行但是我得到一个空白图像。如何确保即使我没有设置断点,也能捕获这样的崩溃并停止应用程序的执行?
当我执行CGBitmapContextCreateImage时会出现此错误。是否有人知道如何解决它?
-(UIImage *) convertBitmapRGBA8ToUIImage:(UInt8**)img
:(int) width
:(int) height
{
CGImageRef inImage = m_inFace.img.CGImage;
UInt8*piData = calloc( width*height*4,sizeof(UInt8));
int iStep,jStep;
for (int i = 0; i < height; i++)
{
iStep = i*width*4;
for (int j = 0; j < width; j++)
{
jStep = j*4;
piData[iStep+jStep] =img[i][j];
piData[iStep+jStep+1] =img[i][j];
piData[iStep+jStep+2] = img[i][j];
}
}
CGContextRef ctx = CGBitmapContextCreate(piData,
CGImageGetWidth(inImage),
CGImageGetHeight(inImage),
CGImageGetBitsPerComponent(inImage),
CGImageGetBytesPerRow(inImage),
CGImageGetColorSpace(inImage),
CGImageGetBitmapInfo(inImage)
);
CGImageRef imageRef = CGBitmapContextCreateImage(ctx);
UIImage *finalImage = [UIImage imageWithCGImage:imageRef];
CGContextRelease(ctx);
CGImageRelease(imageRef);
free(piData);
return finalImage;
}