mirror of https://github.com/python/cpython
[Bug #741171] pdb crashes when enabling a non-existing breakpoint
Check the supplied breakpoint number more carefully. (Incompatibility: before this patch, "enable -1" would enable the last breakpoint on the list; now -1 is not a legal ID. Not sure anyone would ever use negative indices...) 2.2 bugfix candidate, assuming making -1 illegal isn't considered a problem.
This commit is contained in:
parent
35c6cd0905
commit
b1f8bab654
24
Lib/pdb.py
24
Lib/pdb.py
|
@ -375,14 +375,34 @@ class Pdb(bdb.Bdb, cmd.Cmd):
|
|||
def do_enable(self, arg):
|
||||
args = arg.split()
|
||||
for i in args:
|
||||
bp = bdb.Breakpoint.bpbynumber[int(i)]
|
||||
try:
|
||||
i = int(i)
|
||||
except ValueError:
|
||||
print 'Breakpoint index %r is not a number' % i
|
||||
continue
|
||||
|
||||
if not (0 <= i < len(bdb.Breakpoint.bpbynumber)):
|
||||
print 'No breakpoint numbered', i
|
||||
continue
|
||||
|
||||
bp = bdb.Breakpoint.bpbynumber[i]
|
||||
if bp:
|
||||
bp.enable()
|
||||
|
||||
def do_disable(self, arg):
|
||||
args = arg.split()
|
||||
for i in args:
|
||||
bp = bdb.Breakpoint.bpbynumber[int(i)]
|
||||
try:
|
||||
i = int(i)
|
||||
except ValueError:
|
||||
print 'Breakpoint index %r is not a number' % i
|
||||
continue
|
||||
|
||||
if not (0 <= i < len(bdb.Breakpoint.bpbynumber)):
|
||||
print 'No breakpoint numbered', i
|
||||
continue
|
||||
|
||||
bp = bdb.Breakpoint.bpbynumber[i]
|
||||
if bp:
|
||||
bp.disable()
|
||||
|
||||
|
|
Loading…
Reference in New Issue