I've only just tried PDBDebugMode, very handy since you don't have to put set_trace() in your code (and remember to remove it).
Glad you like it :)
I have also sometimes used Chris Withers' "zdb" product, http://www.simplistix.co.uk/software/zope/zdb, which has some overlap in that it allows you to do this in restricted code, e.g. cmf scripts:
from Products.zdb import set_trace set_trace()
... and, very usefully, once in the debugger you can use the "l" command to see the script source and it gets line numbers right. So Ross, maybe
Oooh! I'd love that. I'll look into it. You should really try using a editor/IDE that automatically shows the corresponding code along side the debugger, like Emacs' gud-mode which can be invoked with "M-x pdb". It rocks! Thanks for the suggestion! Ross