New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
pdb's longlist
shows only decorator if that one contains a lambda
#68020
Comments
When a decorater contains a cat mini.py #!/usr/bin/python3.4 def foo(x, y=None):
return x @foo(foo, lambda a:a) spam()
$ python3.4 -mpdb mini.py
> /tmp/mini.py(3)<module>()
-> def foo(x, y=None):
(Pdb) cont
Traceback (most recent call last):
File "/usr/lib64/python3.4/pdb.py", line 1661, in main
pdb._runscript(mainpyfile)
File "/usr/lib64/python3.4/pdb.py", line 1542, in _runscript
self.run(statement)
File "/usr/lib64/python3.4/bdb.py", line 431, in run
exec(cmd, globals, locals)
File "<string>", line 1, in <module>
File "/tmp/mini.py", line 3, in <module>
def foo(x, y=None):
File "/tmp/mini.py", line 10, in spam
1/0
ZeroDivisionError: division by zero
Uncaught exception. Entering post mortem debugging
Running 'cont' or 'step' will restart the program
> /tmp/mini.py(10)spam()
-> 1/0
(Pdb) longlist
6 @foo(foo, lambda a:a)
(Pdb) The last line illustrates the problem. |
I think this has been fixed by now, because I don't see the problem in Python 3.10: python.bat -mpdb tmp1.py
Running Release|Win32 interpreter...
> c:\users\user\src\cpython\tmp1.py(2)<module>()
-> def foo(x, y=None):
(Pdb) c
Traceback (most recent call last):
File "C:\Users\User\src\cpython\lib\pdb.py", line 1740, in main
pdb._runscript(mainpyfile)
File "C:\Users\User\src\cpython\lib\pdb.py", line 1609, in _runscript
self.run(statement)
File "C:\Users\User\src\cpython\lib\bdb.py", line 580, in run
exec(cmd, globals, locals)
File "<string>", line 1, in <module>
File "c:\users\user\src\cpython\tmp1.py", line 2, in <module>
def foo(x, y=None):
File "c:\users\user\src\cpython\tmp1.py", line 9, in spam
1/0
ZeroDivisionError: division by zero
Uncaught exception. Entering post mortem debugging
Running 'cont' or 'step' will restart the program
> c:\users\user\src\cpython\tmp1.py(9)spam()
-> 1/0
(Pdb) longlist
5 @foo(foo, lambda a:a)
6 def spam():
7 0+0
8 1+1
9 -> 1/0
(Pdb) |
pdb uses inspect.findsource for this, where this problem was fixed in bpo-1764286. I believe this ticket can be closed. |
Note: these values reflect the state of the issue at the time it was migrated and might not reflect the current state.
Show more details
GitHub fields:
bugs.python.org fields:
The text was updated successfully, but these errors were encountered: