2009-05-06 11 views
5

C'è un altro modo per eseguire il debug estensioni SWIG tranne che per fareestensioni SWIG di debug per Python

gdb python stuff.py 

?

Ho spostato la libreria legacy libkdtree++ e ho seguito tutti i punti di gestione della memoria relativi allo swig (riferimento preso in prestito vs. proprio ref, ecc.). Ma ancora, non sono sicuro che la mia rilegatura non stia divorando memoria. Sarebbe utile essere in grado di eseguire il debug passo dopo passo ogni funzione pubblicizzata: partendo da Python, passando per il binding della colla C nello spazio C e ritornando indietro.

Esiste già una possibilità?

risposta

1

Bene, per il debug, si utilizza un debugger ;-).

Durante il debug, può essere una buona idea configurare Python con "--with-pydebug" e ricompilare. Effettua ulteriori controlli quindi.

Se siete alla ricerca di perdite di memoria, c'è un modo semplice:

eseguire il codice più e più volte in un ciclo, e cercare il consumo di memoria di Python.

+0

Quello che intendevo è: esiste un debugger che supporta il passaggio dei limiti di lingua? Ad esempio, pdb passa a gdb quando entra nella parte di swig. –

+1

Non che io sappia. – theller

2

gdb 7.0 supporta lo scripting python. Potrebbe aiutarti in questo caso particolare.