mirror of
https://github.com/python/cpython.git
synced 2025-07-07 19:35:27 +00:00
gh-127321: Avoid stopping at an opcode without an associated line number for breakpoint() (#127457)
This commit is contained in:
parent
a880358af0
commit
1bc4f076d1
3 changed files with 24 additions and 0 deletions
|
@ -438,6 +438,13 @@ class Pdb(bdb.Bdb, cmd.Cmd):
|
|||
if (self.mainpyfile != self.canonic(frame.f_code.co_filename)):
|
||||
return
|
||||
self._wait_for_mainpyfile = False
|
||||
if self.trace_opcodes:
|
||||
# GH-127321
|
||||
# We want to avoid stopping at an opcode that does not have
|
||||
# an associated line number because pdb does not like it
|
||||
if frame.f_lineno is None:
|
||||
self.set_stepinstr()
|
||||
return
|
||||
self.bp_commands(frame)
|
||||
self.interaction(frame, None)
|
||||
|
||||
|
|
|
@ -2931,6 +2931,22 @@ def test_pdb_issue_gh_108976():
|
|||
(Pdb) continue
|
||||
"""
|
||||
|
||||
def test_pdb_issue_gh_127321():
|
||||
"""See GH-127321
|
||||
breakpoint() should stop at a opcode that has a line number
|
||||
>>> def test_function():
|
||||
... import pdb; pdb_instance = pdb.Pdb(nosigint=True, readrc=False)
|
||||
... [1, 2] and pdb_instance.set_trace()
|
||||
... a = 1
|
||||
>>> with PdbTestInput([ # doctest: +NORMALIZE_WHITESPACE
|
||||
... 'continue'
|
||||
... ]):
|
||||
... test_function()
|
||||
> <doctest test.test_pdb.test_pdb_issue_gh_127321[0]>(4)test_function()
|
||||
-> a = 1
|
||||
(Pdb) continue
|
||||
"""
|
||||
|
||||
|
||||
def test_pdb_issue_gh_80731():
|
||||
"""See GH-80731
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
:func:`pdb.set_trace` will not stop at an opcode that does not have an associated line number anymore.
|
Loading…
Add table
Add a link
Reference in a new issue