5

除了做之外,还有其他方法可以调试 swig 扩展吗

gdb python stuff.py

?

我已经包装了遗留库libkdtree++并遵循了所有与 swig 相关的内存管理点(借用 ref 与自己的 ref 等)。但是,我仍然不确定我的绑定是否没有占用内存。能够逐步调试每个公开的函数会很有帮助:从 Python 开始,然后通过 C 胶水绑定到 C 空间,然后返回。

是否已经有这种可能?

4

2 回答 2

3

gdb 7.0 支持 python 脚本。在这种特殊情况下,它可能会对您有所帮助。

于 2009-10-09T01:06:30.247 回答
1

好吧,对于调试,您使用调试器;-)。

调试时,最好使用“--with-pydebug”配置 Python 并重新编译。然后它会进行额外的检查。

如果您正在寻找内存泄漏,有一个简单的方法:

在循环中一遍又一遍地运行您的代码,并查找 Python 的内存消耗。

于 2009-05-06T12:45:30.183 回答