New submission from Xavier de Gaye <xdeg...@gmail.com>:

This issue is a companion to issue 13044.

Running with Python 3.6.5 the following code fails with NameError:

1 class C:
2     def __del__(self):
3         print('deleted')
4
5 c = C()
6 x = 1

$  python -m pdb bar.py
> ./bar.py(1)<module>()
-> class C:
(Pdb) break 6
Breakpoint 1 at ./bar.py:6
(Pdb) continue
> ./bar.py(6)<module>()
-> x = 1
(Pdb) step
--Return--
> ./bar.py(6)<module>()->None
-> x = 1
(Pdb) step
--Return--
> <string>(1)<module>()->None
(Pdb) step
> /usr/lib/python3.6/bdb.py(438)run()
-> self.quitting = True
(Pdb) step
The program finished and will be restarted
Exception ignored in: <bound method C.__del__ of <__main__.C object at 
0x7f3fb3485b70>>
Traceback (most recent call last):
  File "./bar.py", line 3, in __del__
    print('deleted')
NameError: name 'print' is not defined
> ./bar.py(1)<module>()
-> class C:
(Pdb)

----------
components: Library (Lib)
messages: 316375
nosy: xdegaye
priority: normal
severity: normal
status: open
title: pdb.run() does not trace destructors of __main__
type: behavior
versions: Python 3.6, Python 3.7, Python 3.8

_______________________________________
Python tracker <rep...@bugs.python.org>
<https://bugs.python.org/issue33458>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to