C语言 Segfault on free()



我遇到了一个简单的问题:我的程序在使用calloc()释放一些分配的内存时出现段错误。回溯中的最后一个函数是_IO_str_pbackfail。目前我使用的是 icc 版本 12.1.6。根据关于堆栈溢出的其他问题,这通常是由堆损坏引起的。通过查看calloc源,似乎该函数在分配空间的前16个字节中写入了一些数据。我试图在这些字节上添加一个观察点,但调试器没有检测到任何恶意写入。关于如何追踪这个问题的任何想法?

你可以

尝试用MALLOC_CHECK_=2或valgrind跑步。

相关内容

  • 没有找到相关文章

最新更新