[Idle-dev] idle -h etc

Al Schapira a.d.schapira at worldnet.att.net
Fri Jun 10 18:27:38 CEST 2005


On Thu, 2005-06-09 at 23:11, Kurt B. Kaiser wrote:
...
> 
> The one addition to the debugger I would like is the ability to
> execute an arbitrary Python statement in any stack frame at a
> breakpoint. 

I second the motion.  In fact, I suggested this to you in April '04. 
...
> What other capability do you feel is missing?

The above execution of an arbitrary Python statement at a breakpoint can
be interactively typed in (when stopped at a   breakpoint.) It should be
convenient to repeat the execution of the previously typed statement
without retyping it.

Building on this would be the *automatic* evaluation of one or more
previously entered Python statements every time a breakpoint is hit.
Each breakpoint should have associated with it one or more statements of
Python code. It should be possible to associate the same set of stored
statements with more than one breakpoint without reentering them. It
should be convenient to save and reuse the debugging statements between
debugging sessions.

This automatically provides a general (and conditional) variable
watchpoint facility -- the code associated with a breakpoint can be as
simple as a single variable (e.g. x, whose value would be printed, as if
in an interactive session) or as complex as you like. 

[Of course, one way to do this is to do nothing more than call a
user-defined function which the user must write ahead of time.  But
often you don't know what you want to look at until you are actually
debugging.]

It must be possible to enable or disable the actual execution of each
breakpoint's associated code without deleting the code. I.e. only after
I hit breakpoint #1 might I want to enable the code associated with
breakpoint #2. This is also important for performance reasons.

For the user interface of this feature, I envision an additional
subwindow of the idle window, containing a table of rows, one per
breakpoint, in which each breakpoint's associated statements and their
values would be automatically displayed when stopped. The row for the
current breakpoint (the one stopped at) should be highlighted. Each row,
(breakpoint's code & values) would have a checkbox to enable/disable
it.  The expressions associated with any breakpoint could be entered or
changed whenever idle is stopped at any breakpoint.  A button should
save all the debugging statements (rows) although if the program being
debugged is changed, the debugging statements may have to be
re-associated with the proper breakpoint(s).

Thanks for asking.

	-Al Schapira, a.d.schapira at worldnet.att.net





More information about the IDLE-dev mailing list