是否有任何其他的方式來調試痛飲擴展,除了做調試痛飲擴展Python的
gdb python stuff.py
?
我已經包裝了傳統庫libkdtree++並遵循了所有與swig有關的內存管理點(借用ref與自己的參考等)。但是,我仍然不確定我的約束是不是在消耗記憶。能夠逐步調試每個公開函數將會很有幫助:從Python開始,然後通過C glue綁定到C空間並返回。
有沒有這種可能性?
是否有任何其他的方式來調試痛飲擴展,除了做調試痛飲擴展Python的
gdb python stuff.py
?
我已經包裝了傳統庫libkdtree++並遵循了所有與swig有關的內存管理點(借用ref與自己的參考等)。但是,我仍然不確定我的約束是不是在消耗記憶。能夠逐步調試每個公開函數將會很有幫助:從Python開始,然後通過C glue綁定到C空間並返回。
有沒有這種可能性?
那麼,爲了調試,你使用調試器;-)。
調試時,用'--with-pydebug'配置Python並重新編譯可能是個好主意。它會做額外的檢查。
如果您正在尋找內存泄漏,有一個簡單的方法:
在一個循環反覆執行代碼,並查找Python的內存消耗。
gdb 7.0支持python腳本。它可能會幫助你在這種特殊情況下。
我的意思是:是否有一個調試器支持切換語言邊界?就像pdb在進入swig部分時切換到gdb一樣。 – 2009-05-06 15:29:22