debugger?

Q

Qiangning Hong

I have read a lot of posts discussing python IDEs, but most of them
focus on the editor, GUI builder, project management, customizability,
etc.... Some talked about debugging capability, but only on an
available/unavailable level.

I use vim to edit my code, wxGlade to build the GUI or hand-code it,
and I still prefer that. So, until now, I haven't tried many IDEs.

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.

What debugger will you suggest?
Or what more polish feature you want to see in an ideal python
debugger? -- hope this thread will help IDE developers to fill their
todo list with some shining ideas :)
 
D

Detlev Offenbach

Qiangning said:
I have read a lot of posts discussing python IDEs, but most of them
focus on the editor, GUI builder, project management, customizability,
etc.... Some talked about debugging capability, but only on an
available/unavailable level.

I use vim to edit my code, wxGlade to build the GUI or hand-code it,
and I still prefer that. So, until now, I haven't tried many IDEs.

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.

What debugger will you suggest?
Or what more polish feature you want to see in an ideal python
debugger? -- hope this thread will help IDE developers to fill their
todo list with some shining ideas :)

Eric3 should be compliant with your list. Try it at
http://www.die-offenbachs.de/detlev/eric3.html

Regards,
Detlev
 
Q

Qiangning Hong

Detlev said:
Qiangning Hong wrote:




Eric3 should be compliant with your list. Try it at
http://www.die-offenbachs.de/detlev/eric3.html

Regards,
Detlev

Eric3 need pyqt so it is not free under windows platform.


--
Qiangning Hong

_____________________________________________________________
/ Humanity has advanced, when it has advanced, not because it \
| has been sober, responsible, and cautious, but because it |
| has been playful, rebellious, and immature. |
| |
\ -- Tom Robbins /
-------------------------------------------------------------
\ , ,
\ /( )`
\ \ \___ / |
/- _ `-/ '
(/\/ \ \ /\
/ / | ` \
O O ) / |
`-^--'`< '
(_.) _ ) /
`.___/` /
`-----' /
<----. __ / __ \
<----|====O)))==) \) /====
<----' `--' `.__,' \
| |
\ /
______( (_ / \______
,' ,-----' | \
`--{__________) \/
 
D

Detlev Offenbach

Qiangning said:
Eric3 need pyqt so it is not free under windows platform.

If you use it together with the free windows port of Qt and PyQt, than it
is free.

Detlev
 
F

Frank LaFond

You might also look at Boa.

http://boa-constructor.sourceforge.net/

While I haven't tried all the things on your list, I've been able to do
all the things I've wanted to do in the debugger. It is also an IDE for
wxPython, so it works well for that, but I don't know about other GUI
libraries.

Qiangning said:
<snip> ...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.

What debugger will you suggest?
Or what more polish feature you want to see in an ideal python
debugger? -- hope this thread will help IDE developers to fill their
todo list with some shining ideas :)

Frank LaFond
http://www.effectiveqa.com
 
R

Renato Ramonda

Qiangning Hong ha scritto:
Eric3 need pyqt so it is not free under windows platform.

Eric3 has had a free version for months now on windows, since the kde on
win32 project recompiled the free versions on windows.

And qt4 now has a GPL version free on windows too.
 
D

David Bolen

(...)
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
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Similar Threads


Members online

No members online now.

Forum statistics

Threads
473,969
Messages
2,570,161
Members
46,710
Latest member
bernietqt

Latest Threads

Top