iOS问题:出现崩溃问题,崩溃定位在汇编而不是具体代码

在iOS项目中遇到崩溃问题,崩溃位置显示在汇编代码而非具体代码。通过排查,发现问题是由于在使用memcpy时分配的目标内存区域大小不足,导致较大内存复制时发生崩溃。解决方案是对memcpy的内存区域大小进行正确计算和分配,确保不引起内存重叠或溢出。
摘要由CSDN通过智能技术生成

iOS问题:出现崩溃问题,崩溃定位在汇编而不是具体代码

项目场景:

做一个软件,当接收到较大图片时,软件就会崩溃退出。而且定位在汇编,而不是以往的代码。 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20210220220423512.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MzkwNjcwMQ==,size_16,color_FFFFFF,t_70#pic_center)

问题描述:

提示:
尝试了静态查找内存泄漏,动态查找内存泄漏,野指针,全局断点等等,都没有找到具体问题所在,然后,我就用了最笨的一种方法,一句一句代码的筛查,最后定位到了一句代码。memcpy(signalCache + currentLoc, dataByte, data.length);

Byte signalCache[5000];
int currentLoc = 0;

@implementation SignalCache

+(void)addDataToSignalCache:(NSData *)data {
    Byte *dataByte = (Byte *)[data bytes];
   
    memcpy(signalCache + currentLoc, dataByte, data.length);
    
    int byteLen = curre
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值