Segfault on free()

时间:2012-11-26 00:55:40

标签: c segmentation-fault heap free corruption

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

1 个答案:

答案 0 :(得分:1)

您可以尝试使用MALLOC_CHECK_=2valgrind运行。