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.
This commit is contained in:
parent
dd7cbbf4d3
commit
19878f58fe
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue