summaryrefslogtreecommitdiffstats
path: root/Mac
diff options
context:
space:
mode:
authorGuido van Rossum <guido@python.org>1998-09-11 22:50:09 (GMT)
committerGuido van Rossum <guido@python.org>1998-09-11 22:50:09 (GMT)
commit2424f855f3647e39800d2eca9e4085cfe2f78f01 (patch)
treebbab6bd9f82e1893cfecbaa3f1f8432f8b744b78 /Mac
parentd93643fe4af71df74fc8ae3bdc12f744775d1c23 (diff)
downloadcpython-2424f855f3647e39800d2eca9e4085cfe2f78f01.zip
cpython-2424f855f3647e39800d2eca9e4085cfe2f78f01.tar.gz
cpython-2424f855f3647e39800d2eca9e4085cfe2f78f01.tar.bz2
Richard Wolff's changes:
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.
Diffstat (limited to 'Mac')
0 files changed, 0 insertions, 0 deletions