Issue14789
Created on 2012年05月12日 13:54 by xdegaye, last changed 2022年04月11日 14:57 by admin.
| Messages (2) |
|
msg160470 - (view) |
Author: Xavier de Gaye (xdegaye) * (Python triager) |
Date: 2012年05月12日 13:54 |
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
bar()
=================================================
$ 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.
|
|
msg161571 - (view) |
Author: Xavier de Gaye (xdegaye) * (Python triager) |
Date: 2012年05月25日 11:54 |
Parsing the modules source seems a better way to fix this problem, see issue 14913.
|
|
History
|
|---|
| Date |
User |
Action |
Args |
| 2022年04月11日 14:57:30 | admin | set | github: 58994 |
| 2012年05月25日 11:54:29 | xdegaye | set | messages:
+ msg161571 |
| 2012年05月18日 17:47:52 | terry.reedy | set | nosy:
+ georg.brandl
|
| 2012年05月12日 13:54:12 | xdegaye | create |