[issue14789] after continue, Pdb stops at a line without a breakpoint

Xavier de Gaye report at bugs.python.org
Sat May 12 15:54:12 CEST 2012

New submission from Xavier de Gaye <xdegaye at gmail.com>:

In the following test run with python on the current head of the
default branch, Pdb stops at line 3 where there is no breakpoint after
two breakpoints have been set on the same function (setting two bps on
the same location is useful, for example one bp to print a value without
stopping and the other one with an ignore count).

===   main.py   =================================
def bar():
    x = 1
    x = 2

$ python -m pdb main.py 
> /path_to/main.py(1)<module>()
-> def bar():
(Pdb) import sys; print(sys.version)
3.3.0a3+ (default:4e9680570be8, May 11 2012, 12:09:15) 
[GCC 4.3.2]
(Pdb) break bar
Breakpoint 1 at /path_to/main.py:1
(Pdb) break bar
Breakpoint 2 at /path_to/main.py:1
(Pdb) continue
> /path_to/main.py(2)bar()
-> x = 1
(Pdb) continue
> /path_to/main.py(3)bar()
-> x = 2
(Pdb) quit

The attached patch fixes the problem. This patch also fixes the
following problems that are caused by the same bug:

    * when more than one breakpoint is set on the same line, only the
      command of the first effective breakpoint is run, and only the
      hit count and the ignore count of the first effective breakpoint
      are updated

The patch includes a test case for all those problems.

components: Library (Lib)
files: pdb_default.patch
keywords: patch
messages: 160470
nosy: xdegaye
priority: normal
severity: normal
status: open
title: after continue, Pdb stops at a line without a breakpoint
type: behavior
versions: Python 2.7, Python 3.2, Python 3.3
Added file: http://bugs.python.org/file25549/pdb_default.patch

Python tracker <report at bugs.python.org>

More information about the Python-bugs-list mailing list