在Python中Valgrind错误是正常的

时间:2018-02-21 12:59:25

标签: python valgrind

我和valgrind一起面对问题python。我收到了默认的valgrind警告消息。我创建了sample.py。 sample.py文件没有任何代码。我创建了空py文件以确认我的代码没有任何内存泄漏。

以下是我在命令行中使用的valgrind命令:

**valgrind --leak-check=full --show-reachable=yes --error-limit=no --gen-suppressions=all --log-file=msm_suppress.log -v /home/arunspra/py_src/Python-2.7.5/python sample.py**

我收到了大量的valgrind警告。

我在谷歌浏览,我知道我需要通过禁用pymalloc来配置python。正如技术人员所说,如果pymalloc被禁用,我们就不会遇到任何与内存相关的错误。但我得到了与内存相关的错误。以下是我用来禁用pymalloc的命令:

**./configure --without-pymalloc --with-pydebug
make**

然后我跑了上面说的valgrind命令。我得到1299个valgrind警告。如果我启用pymalloc,我只收到108个valgrind警告。

以下是我的软件版本:

**Cent os: 7.3
Python: 2.7.5
Valgrind: 3.12.0**

PS:如果我配置和构建python,我得到一个导入错误:没有名为netifaces的模块。我在我的项目中使用netifaces。如果我使用系统内置python,我没有得到netifaces导入错误。

任何人都可以建议我解决这个问题。

1 个答案:

答案 0 :(得分:0)

你需要一个valgrind suppressions文件才能在Python中使用valgrind。这是官方版,对我有用:https://svn.python.org/projects/python/trunk/Misc/valgrind-python.supp