4

我正在使用带有 scipy.weave 的 python2.5 来嵌入 c 代码。

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

"glibc detected *** python: malloc(): memory corruption"

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

那么我该如何调试呢?

谢谢

4

1 回答 1

7

我冒昧地猜测您的代码在某处溢出了数组(或导致 Python 这样做)。

如果您不能可靠地重现它,您会发现调试它很困难,因此您可能希望明确地为您的随机数生成器提供种子,并尝试找到一个可以重现损坏的种子。您可能还会发现使用valgrind之类的工具有助于跟踪何时写入超出分配的限制——当您每次都可以重现它时可能更是如此。

于 2010-09-03T13:57:52.590 回答