Following on from my disillusionment with komodo I have been trying other options for a python debugger.
I looked at Ipython again and was playing with it and came across a problem/annoyance: the command history was not stored between sessions, even though the documentation implied that it was. Since this was handled by the readline library which is written in python I thought I would look through the source. I found a file there called wingdbstub which is the remote debug stub file used by wingide to debug remote applications. I considered this an endorsement so I fired up Wingide and gave it a try. Sure enough, I was able to run IPython and stop in the readline library in Wingide and look see what was happening. I must say that Wingide performed flawlessly while I was using it. It is not as pretty as komodo and doesn't do as much but I haven't found any actual bugs.
I was able to determine that IPython has two command historys, it's own (the %hist command) that is not saved across sessions and readlines which is accessed via ctrl-P and ctrl-N and is saved across sessions.
I spent some more time with Wingide and found it quite usable.
Then I decided to give winpdb a try. This is an open source python debugger that uses wxpython. It debugged my simple script that komodo failed on so I tried debugging IPython with it. It gave this a valiant go but when single stepping through IPython it has some strange problem where it decides to stop within a docstring at the head of ipython/__init__.py and after that runs instead of stepping any further.
Komodo makes a better attempt at debugging IPython but then I found another problem: if you stop in the debugger and double-click on an identifier in the source code, you can get python to crash and the following error to appear in the console output:
C:\Program Files\ActiveState Komodo 3.5\lib\support\dbgp\pythonlib\dbgp\client.py:1449: RuntimeWarning: tp_compare didn't return -1 or -2 for exception i = max(0, len(stack) - 1)
the answer to this one may be to NOT double click on identifiers (doctor, doctor it hurts when I do this: well don't do it). Sometimes komodo will show values of variables in a tool-tip, sometimes it doesn't, sometimes I double click the variable in an effort to prompt it.
Right now, WingIDE is looking like the most stable product.
Twitterings
