mirror of
https://github.com/python/cpython.git
synced 2024-11-23 18:04:37 +08:00
gh-101517: make bdb avoid looking up in linecache with lineno=None (#101787)
This commit is contained in:
parent
5d15224011
commit
366b949058
@ -570,9 +570,10 @@ class Bdb:
|
||||
rv = frame.f_locals['__return__']
|
||||
s += '->'
|
||||
s += reprlib.repr(rv)
|
||||
line = linecache.getline(filename, lineno, frame.f_globals)
|
||||
if line:
|
||||
s += lprefix + line.strip()
|
||||
if lineno is not None:
|
||||
line = linecache.getline(filename, lineno, frame.f_globals)
|
||||
if line:
|
||||
s += lprefix + line.strip()
|
||||
return s
|
||||
|
||||
# The following methods can be called by clients to use
|
||||
|
@ -1203,5 +1203,11 @@ class IssuesTestCase(BaseTestCase):
|
||||
tracer.runcall(tfunc_import)
|
||||
|
||||
|
||||
class TestRegressions(unittest.TestCase):
|
||||
def test_format_stack_entry_no_lineno(self):
|
||||
# See gh-101517
|
||||
Bdb().format_stack_entry((sys._getframe(), None))
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
unittest.main()
|
||||
|
@ -0,0 +1 @@
|
||||
Fixed bug where :mod:`bdb` looks up the source line with :mod:`linecache` with a ``lineno=None``, which causes it to fail with an unhandled exception.
|
Loading…
Reference in New Issue
Block a user