0

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

4

1 回答 1

1

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

于 2012-11-26T00:58:12.270 回答