关于linux出现segment fault错误

毕设工坊 毕业设计 1

代码是关于用C语言自己实现一个动态内存分配器,逻辑上应该是对的,但是运行时出现segment fault错误。 定位到了错误的地方,但是不明白为什么无法访存。 find fit函数参数表原本是没有p的,为了找出原因我从上一层调用函数的地方把我想要访问的指针p传了过来,通过p是可以访问的,但是在当前函数中我使用tmpP指针却又无法访问,输出信息如图片所示,p与tmpP输出地址是一样的,HDRP(p)与HDRP(tmpP)输出也一样,GET SIZE(HDRP(p))可以访问到内存,但是换成GET_SIZE(HDRP(tmpP))会显示segment fault错误。

有没有大神指点一下,实在调不出来了/(ㄒoㄒ)/~

回复

共1条回复 我来回复
  • 代码工坊
    这个人很懒,什么都没有留下~
    评论

    应该是Linux有某些保护机制没有关闭

    这段代码看起来没啥问题,… 这些是哪里打印的? 估计原因在这,你单步跟踪下,看出错的地方

    0条评论

发表回复

登录后才能评论