内存管理出现HardFault错误!!!

2019-07-20 03:02发布

调试发现在 free 函数中出现了HardFault。进一步发现,函数返回时,SP指针指向了0x00000000这个地址,导致出现了HardFault错误。实在不明白其原理,希望各位大佬能给点提示,给一点解决问题的思路
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
6条回答
qtxxcj123
1楼-- · 2019-07-20 05:30
 精彩回答 2  元偷偷看……
Psheng
2楼-- · 2019-07-20 06:11
帮顶~~~,检测下offset的地址 看下对不对的
edmund1234
3楼-- · 2019-07-20 08:36
本帖最后由 edmund1234 于 2019-3-22 23:54 编辑

申请内存时返回给你被申请了的内存首地址, 而释放内存靠的也是这个地址, 你给一个内容为0的地址给Free去释放内存,它那里会猜得出来你到底想释放那一段内存? 要是你是Free这函数的作者,  除了报错还能有更好的方法吗?
qtxxcj123
4楼-- · 2019-07-20 09:34
 精彩回答 2  元偷偷看……
qtxxcj123
5楼-- · 2019-07-20 12:13
 精彩回答 2  元偷偷看……
qiousanxi
6楼-- · 2019-07-20 17:03
可能是别的数据溢出把你这给覆盖了

一周热门 更多>