当前位置: 技术问答>linux和unix
求救一个关于malloc的问题,
来源: 互联网 发布时间:2016-07-22
本文导语: 用malloc分了一个1440*1080*3大小的buffer,然后往sd卡里面写,开始写几次没问题,写多了程序就快卡死了,分配内存是用malloc,保存完后也free掉了,这个是为何呢?各位有没有碰到这样的情况, | ...
用malloc分了一个1440*1080*3大小的buffer,然后往sd卡里面写,开始写几次没问题,写多了程序就快卡死了,分配内存是用malloc,保存完后也free掉了,这个是为何呢?各位有没有碰到这样的情况,
|
程序的问题,你做个计数器,每次malloc就+1,free就-1,然后打印这个计数
|
首先你要确保你的malloc都free了,要不然就内存溢出了,因为你每次申请都很大,并且你最好要保证每次都申请成功,malloc之后判断下申请结果,如果没有申请成功,你还对那个指针操作的话,肯定也会卡死的!
|
有没有其他地方malloc了还没有free呢?
|
“如果没有申请成功,你还对那个指针操作的话,肯定也会卡死的!“,对没有申请成功的指针操作,程序会崩掉的把!还是同意这之前的说法的。卡死,我怀疑是内存被沾满了!
|
内存不够用卡死也是一种情况,我写了很多程序,对不正确的指针进行操作,程序是会崩溃,但是我们有的时候发现不了,除非自己做了判断,给我们的假象就是程序停住了,也就是“卡死了”,和楼主的说法比较像,我也只是提个建议而已。
|
有bug,用pritf打印些调试信息。
|
LZ还是多打印出调试信息吧
这样也好分析
这样也好分析
|
多打印写log确保对于每个malloc都有free