如何调试"glibc检测到***python:malloc():内存损坏"

Emi*_*mya 4 c python glibc

我正在使用python2.5和scipy.weave嵌入c代码.

在我的c代码中,没有malloc()函数,但我收到的错误就像

"glibc detected *** python: malloc(): memory corruption"
Run Code Online (Sandbox Code Playgroud)

不时.(这是一个随机算法)

那我该怎么调试呢?

谢谢

And*_*ett 7

我猜测你的代码在某个地方溢出了一个数组(或者导致Python这样做).

如果您无法可靠地重现它,您将发现调试这很难,因此您可能希望显式播种随机数生成器并尝试查找可以重现损坏的种子.您可能还会发现使用像valgrind这样的工具有助于跟踪何时写入分配的限制 - 当您每次都可以重现时,可能更有用.