I can interactively debug the Python portions using PyDev. I find it much easier to understand using an interactive debugger and looking at real data!
If you install PyDev in Eclipse as per Google-able instructions you will need to do the following to debug EigenD (for example):
- go to the Debug Perspective in Eclipse and start the PyDev remote debug server (icon of (de)bug with the P). you will see 'Debug Server' in the Debug tab
- in a Terminal set the PYTHONPATH to point to the location of pydev.py, for example
export PYTHONPATH=/Applications/eclipse/plugins/org.python.pydev.debug_1.6.5.2011020317/pysrc/
- at the point you would like the debugger to halt add the following line:
import pydevd; pydevd.settrace();
- run 'make' to rebuild
- now execute the executable, e.g.
./tmp/app/EigenD.app/Contents/MacOS/EigenD --stdout
- when the process reaches the inserted line the PyDev debugger will stop and show variables/code/etc. as normal with PyDev interactive debugging
- after this point you can insert breakpoints, etc. and it will all work. You can't do hot-code replace, but this is very useful for understanding the objects in the live system and how they work together