[3.13] gh-59000: Fix pdb breakpoint resolution for class methods when… (#142172)

* [3.13] gh-59000: Fix pdb breakpoint resolution for class methods when module not imported (GH-141949)
(cherry picked from commit 5e58548ebe)

Co-authored-by: LloydZ <35182391+cocolato@users.noreply.github.com>
This commit is contained in:
Tian Gao 2025-12-01 21:07:52 -08:00 committed by GitHub
parent 01393ffbe6
commit 9d99b5b2ca
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 20 additions and 1 deletions

View file

@ -1262,7 +1262,9 @@ def lineinfo(self, identifier):
f = self.lookupmodule(parts[0])
if f:
fname = f
item = parts[1]
item = parts[1]
else:
return failed
answer = find_function(item, self.canonic(fname))
return answer or failed

View file

@ -4013,6 +4013,22 @@ def f(x):
self.assertIn('42', stdout)
self.assertIn('return x + 1', stdout)
def test_issue_59000(self):
script = """
def foo():
pass
class C:
def foo(self):
pass
"""
commands = """
break C.foo
quit
"""
stdout, stderr = self.run_pdb_script(script, commands)
self.assertIn("The specified object 'C.foo' is not a function", stdout)
class ChecklineTests(unittest.TestCase):
def setUp(self):

View file

@ -0,0 +1 @@
Fix :mod:`pdb` breakpoint resolution for class methods when the module defining the class is not imported.