summaryrefslogtreecommitdiffstats
path: root/Lib/pdb.py
Commit message (Collapse)AuthorAgeFilesLines
* Spelling fixes supplied by Rob W. W. Hooft. All these are fixes in eitherThomas Wouters2000-07-161-1/+1
| | | | | | | | | | comments, docstrings or error messages. I fixed two minor things in test_winreg.py ("didn't" -> "Didn't" and "Didnt" -> "Didn't"). There is a minor style issue involved: Guido seems to have preferred English grammar (behaviour, honour) in a couple places. This patch changes that to American, which is the more prominent style in the source. I prefer English myself, so if English is preferred, I'd be happy to supply a patch myself ;)
* Sjoerd Mullender:Guido van Rossum2000-03-061-15/+21
| | | | | | | When you set a breakpoint on a function with a multi-line argument list, the breakpoint is actually set on the second line of the arguments instead of the first line of the body. This patch fixes that.
* Actually, the previous batch's comment should have been different;Guido van Rossum2000-02-041-1/+1
| | | | | | | | | | *this* set of patches is Ka-Ping's final sweep: The attached patches update the standard library so that all modules have docstrings beginning with one-line summaries. A new docstring was added to formatter. The docstring for os.py was updated to mention nt, os2, ce in addition to posix, dos, mac.
* More trivial comment -> docstring transformations by Ka-Ping Yee,Guido van Rossum2000-02-041-14/+13
| | | | | | | | | | | | | | | | | | who writes: Here is batch 2, as a big collection of CVS context diffs. Along with moving comments into docstrings, i've added a couple of missing docstrings and attempted to make sure more module docstrings begin with a one-line summary. I did not add docstrings to the methods in profile.py for fear of upsetting any careful optimizations there, though i did move class documentation into class docstrings. The convention i'm using is to leave credits/version/copyright type of stuff in # comments, and move the rest of the descriptive stuff about module usage into module docstrings. Hope this is okay.
* Sjoerd Mullender writes:Guido van Rossum1999-11-031-0/+3
| | | | | | | | | | | | | | | | I regularly find that pdb sets the breakpoint on the wrong line when I try to set a breakpoint on a function. This fixes the problem somewhat. The real problem is that pdb tries to parse the Python source code to find the first executable line. A better way might be to inspect the code object, or even have a variable in the code object co_firstexecutablelineno, but that's too much work. The patch fixes the problem when the first code line after the def statement contains the start *and* end of a triple-quoted string. The code assumed that the end of a triple-quoted string is not on the same line as the start, and so it would skip to the end of the *next* triple-quoted string.
* Pdb.lineinfo(): Don't use os.popen('egrep ...') to find the line inBarry Warsaw1999-09-091-8/+23
| | | | | | the file that a function is defined on. Non-portable to Windows and JPython. Instead, new find_function() uses re module on a similar (simple-minded) pattern.
* Get rid of confusing 'global' statement in global code.Guido van Rossum1999-05-031-1/+0
| | | | (Andrew Dalke & kjpylint)
* Improvement of b/w compat note in help text for clear, by Richard Wolff.Guido van Rossum1999-01-281-1/+2
|
* Get rid of do_clear_break / do_clb command -- it is redundant.Guido van Rossum1999-01-271-20/+0
| | | | (It was left in accidentally after a long and arduous 3-way patch session.)
* Change clear syntax to support three alternatives:Guido van Rossum1999-01-251-3/+47
| | | | | | | | | clear clear file:line clear bpno bpno ... Also print the breakpoint data after calling set_break(), because the print statement in set_break() has gone.
* When run as a script, don't pass a fake __main__ dictionary; use theGuido van Rossum1998-10-151-1/+1
| | | | real one.
* Richard Wolff's additional changes; some layout nits, and change theGuido van Rossum1998-09-171-11/+11
| | | | alias delimiter to ';;'.
* Richard Wolff's changes:Guido van Rossum1998-09-111-59/+351
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | pdb.py Uses the Breakpoint class so one can enable/disable breakpoints, set temporary ones, set ignore counts, and conditions. The last can be set using the 'b' command b 243 , i>4 ( b 243,i>4 if you are space adverse) or with the condition command so conditions can be changed for a particular breakpoint. Breakpoints are numbered from 1 on, and if a breakpoint is deleted, the number is not reused. All the breakpoint handling commands refer to breakpoints by number. To be consistent, the clear command does so as well, which is the one change from the original pdb that is not transparent. Thus only the breakpoint command 'b' uses a line number or file:line or method. You can also give b whrandom.random and the method will be searched for along sys.path. This is implemented with an 'egrep' command and so is not as portable as it might be. [ see lineinfo() and lineinfoCmd ] Breakpoints cannot be set at a line that is blank or a '#' comment or starts a triply quoted comment. This is because I would like this behavior in my DDD interface and think it reasonable for pdb as well. It can be removed readily, however as it is all incorporated in the routine checkline(). If one attempts to set a breakpoint at a 'def' line, the breakpoint is automatically moved to the first executable line after the 'def'. This too is in checkline(). do_EOF() returns zero so typing an end-of-file character as a command does nothing. 'quit' does the quitting. The routine defaultFile() is present so as to preserve the current pdb behavior and yet allow me to override it in pydb. There's some code in lineinfo() that is probably mainly useful only for pydb and if you prefer, much up to the comment "Best first guess" could be removed. Keith Davidson provided the code for handling $HOME/.pdbrc and ./.pdbrc, and it has been incorporated. He also provided the alias handling routine. I modified it a bit so it could live nicely in precmd(). He and I have been in contact; he has the new pdb (and pydb) with his code incorporated. He also asked about the possibility of allowing multiple commands on one line, such as step;step or s;s or with an alias such as alias ct tbreak %1 ; continue and since it was so easy, that's in place as well. It's a simple 'split the line at the first ";"' operation and puts the second half in the command queue (self.cmdqueue). This has the unfortunate effect of destroying a line like print "i: "+i+"; j: "+j but either there's a simple way to deal with this, or my attitude will remain that pdb is a debugger, not a compiler/parser/etc. An alias like alias 4s s;;s; will work because the adjacent and trailing ";" act like a <cr> which repeats the last command. Of course, either s;s;s;s or s;;; would be a bit more sensible. The help commands have been updated.
* Feature added by Harri Pasanen (at my suggestion): .py suffix onGuido van Rossum1998-07-221-3/+10
| | | | filename may be omitted.
* Added support for specifying a filename for a breakpoint, roughlyGuido van Rossum1998-07-201-40/+102
| | | | | | | | | | | | | according to an idea by Harri Pasanen (but with different syntax). This affects the 'break' and 'clear' commands and their help functions. Also added a helper method lookupmodule(). Also: - Try to import readline (important when pdb is used from/as a script). - Get rid of reference to ancient __privileged__ magic variable. - Moved all import out of functions to the top. - When used as a script, check that the script file exists.
* A working version of the 'args' command (it prints the current valuesGuido van Rossum1998-02-251-5/+12
| | | | | of the variables known to hold arguments, but that's as close as I can get, and generally it's close enough).
* Use sys.exc_info() where needed.Guido van Rossum1997-09-291-12/+15
|
* No longer need to use codehack -- use co.co_firstlineno instead.Guido van Rossum1997-07-181-2/+1
|
* Support for conditional breakpoints (Jim Fulton, with some changes).Guido van Rossum1997-07-111-7/+22
|
* /usr/local/bin/python -> /usr/bin/env pythonGuido van Rossum1996-11-271-1/+1
|
* Correct sys.path[0] when used stand-aloneGuido van Rossum1996-09-101-3/+6
|
* Two changes suggested by Andrew Kuchling:Guido van Rossum1996-07-301-1/+17
| | | | | - move compile() inside try-except - add code so you can do "python pdb.py <script> <arg> ..." to debug <script>
* use new "single" compile optionGuido van Rossum1995-08-071-1/+2
|
* handle class exceptions; added runeval; made runctx obsoleteGuido van Rossum1995-02-271-8/+24
|
* fix formatting of stack entriesGuido van Rossum1995-02-031-3/+2
|
* improved prompt formatGuido van Rossum1994-11-101-3/+11
|
* Merge alpha100 branch back to main trunkGuido van Rossum1994-08-011-13/+157
|
* * Mass change: get rid of all init() methods, in favor of __init__()Guido van Rossum1993-12-171-3/+0
| | | | | | | constructors. There is no backward compatibility. Not everything has been tested. * aiff.{py,doc}: deleted in favor of aifc.py (which contains its docs as comments)
* Added missing "import os" to pdb.help()Guido van Rossum1993-10-221-0/+1
|
* * profile.py, pdb.py: added help() functionGuido van Rossum1993-10-221-0/+12
| | | | | | * builtin.py: b/w compat for builtin -> __builtin__ name change * string.py: added atof() and atol() and corresponding exceptions * test_types.py: added test for list sort with user comparison function
* * pdb.py: set 'privileged' property when evaluating expressionsGuido van Rossum1993-07-291-0/+3
| | | | | * string.py: change whitespace to include \r, \v and \f. When importing strop succeeds, re-evaluate meaning of letters.
* pdb.py, bdb.py, cmd.py: use __init__() instead of init()Guido van Rossum1993-06-231-7/+9
|
* Added whatis command (third try -- filesystem was full, rcs lock failed)Guido van Rossum1993-03-291-0/+24
|
* * Got entirely rid of path.py.Guido van Rossum1992-12-141-1/+1
| | | | | | | | * Many modules: fixes for new, stricter, argument passing rules (most changes were automatic ones -- not all of this is tested!). * gwin.py: now uses mainloop.py for its main loop and window admin. * mainloop.py: always call dispatch() with event as a tuple! * Fix bug in pdb's 'clear' command -- don't set the bpt but clear it!
* * change default line numbers for 'list' in pdb.pyGuido van Rossum1992-11-051-2/+4
| | | | | | | | | * changed eval() into getattr() in cmd.py * added dirname(), basename() and (dummy) normath() to macpath.py * renamed nntp.py to nntplib.py * Made string.index() compatible with strop.index() * Make string.atoi('') raise string.atoi_error rather than ValueError * Added dirname() and normpath() to posixpath.
* Added post_mortem() and pm() interfaces to pdb and wdb.Guido van Rossum1992-09-081-0/+18
| | | | | | Added colorsys.py (color system conversions). SV.py: new version for new svideo.h (Sjoerd). DEVICE.py: added VIDEO event type.
* Added a _v21 def to FL.py and added two new input field typesGuido van Rossum1992-09-021-0/+3
| | | | | | Added runcall(func, *args) interfaces to profile.py, bdb.py, pdb.py, wdb.py Added new module bisect.py and used it in sched.py. Mostly cosmetic changes to profile.py (changed output format).
* Rewritten to use bdb.Bdb as base class.Guido van Rossum1992-01-271-286/+99
|
* Added 'r(et)v(al) command.Guido van Rossum1992-01-161-22/+50
| | | | Added pdd (post-mortem debugging) method to class Pdb.
* Moved documentation out to pdb.doc file.Guido van Rossum1992-01-161-273/+88
| | | | | Moved class Cmd out to module cmd.py. Rewrote implementation of stack trace to incorporate traceback objects.
* Added to-do list.Guido van Rossum1992-01-141-1/+13
|
* Almost complete rewritten. Documentation added.Guido van Rossum1992-01-121-107/+300
| | | | Simple interface "pdb.run('<statement>')" added.
* react to interrupts differentlyGuido van Rossum1992-01-121-0/+5
|
* Initial revisionGuido van Rossum1992-01-101-0/+396