Qiangning Hong <[EMAIL PROTECTED]> writes: (...) > However, while I use pdb or inserting "print" statement to debug my > apps, sometimes it is a pain. I think I need a good GUI debugger to > help me. The debugger should meet _most_ of the following > requirements: > > 1. can debug wxPython applications (and other GUI lib). > 2. an intuitive way to set/clear/enable/disable breakpoints. > 3. can set conditional breakpoints (i.e. break when some condition satisfied). > 4. variable watch list, namescope watching (local, global) > 5. evaluate expression, change variable values, etc within debugging. > 6. change the running routine, (i.e. go directly to a statement, skip > some statements, etc) > 7. clever way to express objects, not just a string returned by repr() > 8. perform profiling > 9. a clear interface. > 10. cross-platform. > 11. free, or better, open source.
Although we typically use unit tests and 'print' debugging, I settled on Wing IDE as having the best debugger for the times when something more was needed. It's not free (pretty reasonable cost for an IDE though), but otherwise I think would meet your other points, except perhaps for profiling. It's easy enough to grab an evaluation version to try out (http://www.wingide.com). For us, a big point was wxPython debugging, and being able to stop at exceptions within wxPython event handlers. Interestingly enough, that's seems to be a tough requirement for many of the existing debuggers because the exceptions occur in code that has been called out to from within a C++ layer, and thus have to be caught before the C++ layer gets a chance to clear the exception. -- David -- http://mail.python.org/mailman/listinfo/python-list