除了执行
之外,还有其他方法可以调试swig扩展gdb python stuff.py
我已经包装了遗留库libkdtree++并且遵循了所有与swig相关的内存管理点(借用ref与自己的ref等)。但是,我仍然不确定我的约束力是否会消耗掉记忆力。能够一步一步地调试每个公开的函数将是有帮助的:从Python开始然后通过C glue绑定到C空间,然后返回。
是否已有这种可能性?
答案 0 :(得分:2)
gdb 7.0支持python脚本。在这种特殊情况下,它可能对你有帮助。
答案 1 :(得分:1)
好吧,对于调试,你使用调试器; - )。
调试时,使用'--with-pydebug'配置Python并重新编译可能是个好主意。它会进行额外的检查。
如果您正在寻找内存泄漏,可以采用一种简单的方法:
在循环中反复运行代码,并查找Python的内存消耗。