classification
Title: debugger stops at breakpoint of `pass` that is not actually reached
Type: behavior Stage:
Components: Interpreter Core, Library (Lib) Versions: Python 3.7
process
Status: open Resolution:
Dependencies: Superseder:
Assigned To: Nosy List: gatekeeper.mail
Priority: normal Keywords:

Created on 2020-12-02 22:36 by gatekeeper.mail, last changed 2020-12-02 22:36 by gatekeeper.mail.

Files
File name Uploaded Description Edit
debug_bug.py gatekeeper.mail, 2020-12-02 22:36
Messages (1)
msg382351 - (view) Author: Andy S (gatekeeper.mail) Date: 2020-12-02 22:36
The python (3.6) doc states (https://docs.python.org/3/reference/simple_stmts.html#the-pass-statement):

pass is a null operation...

So since this is still an operation one could expect that it can be used as an op to breakpoint on while debugging some scripts.

Nevertheless:

$ pdb3.7 ./debug_bug.py 
> /...play/debug_bug.py(1)<module>()
-> a = None
(Pdb) list
  1  -> a = None
  2  
  3  
  4     def fun():
  5         b = False
  6         if a is None:
  7             b = True
  8             pass
  9         else:
 10             pass
 11  
(Pdb) 
 12  
 13     fun()
 14     pass
[EOF]
(Pdb) b 10
Breakpoint 1 at /...play/debug_bug.py:10
(Pdb) run
Restarting ./debug_bug.py with arguments:
        ./debug_bug.py
> /...play/debug_bug.py(1)<module>()
-> a = None
(Pdb) continue
> /...play/debug_bug.py(10)fun()
-> pass
(Pdb) bt
  /usr/lib/python3.7/bdb.py(585)run()
-> exec(cmd, globals, locals)
  <string>(1)<module>()
  /...play/debug_bug.py(13)<module>()
-> fun()
> /...play/debug_bug.py(10)fun()
-> pass
(Pdb) p b
True
(Pdb)
History
Date User Action Args
2020-12-02 22:36:25gatekeeper.mailcreate