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.