This is my .pdbrc file contents:
b 2
c
This is my code.py contents:
print('1st line')
print('2nd line')
print('3rd line')
And when I run this command in terminal:
python3 -m pdb code.py
I get this output:
1st line
2nd line
3rd line
Breakpoint 1 at /Users/mypc/code.py:2
1st line
> /Users/mypc/code.py(2)<module>()
-> print('2nd line')
(Pdb)
It looks like the whole code.py file is executed first and then the breakpoints are added and applied in the next cycle. How can I make sure that first breakpoints are applied and then the code starts to execute?
Expected output:
Breakpoint 1 at /Users/mypc/code.py:2
1st line
> /Users/mypc/code.py(2)<module>()
-> print('2nd line')
(Pdb)
CodePudding user response:
Name your file (almost) anything other than code.py.
The problem is that code.py is a Python core module:
NAME
code - Utilities needed to emulate Python's interactive interpreter.
MODULE REFERENCE
This module is used by pdb, so when you name your file code.py it gets imported during the startup of the pdb module.
