diff options
author | Guido van Rossum <guido@python.org> | 1999-11-03 13:10:07 (GMT) |
---|---|---|
committer | Guido van Rossum <guido@python.org> | 1999-11-03 13:10:07 (GMT) |
commit | 19878f58fe9e4273458131eec1c18b96da39dcd1 (patch) | |
tree | 6181f68022c8340b7774dc4d53a4e82a11b81768 /Lib/pdb.py | |
parent | dd7cbbf4d320317065d041a7b407fae840563012 (diff) | |
download | cpython-19878f58fe9e4273458131eec1c18b96da39dcd1.zip cpython-19878f58fe9e4273458131eec1c18b96da39dcd1.tar.gz cpython-19878f58fe9e4273458131eec1c18b96da39dcd1.tar.bz2 |
Sjoerd Mullender writes:
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.
Diffstat (limited to 'Lib/pdb.py')
-rwxr-xr-x | Lib/pdb.py | 3 |
1 files changed, 3 insertions, 0 deletions
@@ -346,6 +346,9 @@ class Pdb(bdb.Bdb, cmd.Cmd): if len(line) >= 3: if (line[:3] == '"""' or line[:3] == "'''"): + if line[-3:] == line[:3]: + # one-line string + continue incomment = line[:3] continue if line[0] != '#': break |