Differences between revisions 5 and 6
Revision 5 as of 2006-04-20 22:08:46
Size: 1857
Editor: proxy7-m
Comment:
Revision 6 as of 2006-04-21 03:58:51
Size: 2260
Editor: c-69-181-133-51
Comment:
Deletions are marked like this. Additions are marked like this.
Line 28: Line 28:

a couple of observations about pdb's source code:

 * pdb.py/bdb.py interaction seems to be very convoluted: it really feels that getting rid of bdb.py would simplify things a lot

 * runtime documentation of pdb.py is spread over 2 places (pdb.doc and pdb.py itself) with a lot of duplication (of course there are std lib docs too). My feeling is that pdb.doc should go

Ilya (isandler)
----

This page point issues related to [http://docs.python.org/lib/module-pdb.html Python Debugger] that will led to(hopefully) better Python debugging environment:

  • bugfixes/functionality improvments in bug/patch tracker
  • write pdb's unit_tests
  • look at other debuggers(Python/non-Python) and see if we can learn something from it (I'm sure we can;)
  • pdb's design issues (Could someone add more information about it?)

You are welcome to add your pdb's wishes below.


It would be great if pdb's environment were like the Python interactive shell - for example, you would be able to run multiline blocks, in the context of the running program.

Something that's really needed is the possibility to stop another Python process in the middle and work from there - gdb has this possibility, and a few times I've tried to use it to find what my Python processes were doing, but it wasn't easy and most of the times I wasn't able to understand what they were really doing.

Running pdb from another code - many times I want to go back again and again to a specific situation, and I turn out to many times do a specific procedure to get there, like setting a breakpoint, hitting it three times, setting another breakpoint, and so on. If there was a way to run all these commands from a Python function, all this would be much simpler - I would write a code to do it, and give me control after the procedure is done.

It seems to me that the basic interface should be an instance which controlls an execution, which can be given commands such as:

  • Set breakpoint
  • Continue until reaching a breakpoing
  • Execute code in the debugged context
  • Evaluate an expression in the debugged context

Such an interface would be easily wrapped by an interactive user interface similiar to that of today.

Noam Raphael


a couple of observations about pdb's source code:

  • pdb.py/bdb.py interaction seems to be very convoluted: it really feels that getting rid of bdb.py would simplify things a lot
  • runtime documentation of pdb.py is spread over 2 places (pdb.doc and pdb.py itself) with a lot of duplication (of course there are std lib docs too). My feeling is that pdb.doc should go

Ilya (isandler)


PdbImprovments (last edited 2008-11-15 13:59:37 by localhost)

Unable to edit the page? See the FrontPage for instructions.