◐ Shell
clean mode source ↗

pdb shows wrong line numbers for modules

Bug report

  1. Create foo.py containing a = 1
  2. ./python -m pdb foo.py

Results in

./python -m pdb foo.py
./foo.py(1)<module>()
-> a = 1
(Pdb) longlist
  0     a = 1
(Pdb) 

The line number should be 1 instead of 0.

This occurs because the longlist command uses inspect.getsourcelines, which returns 0 as the starting line number for modules.

This bug was introduced in #101674.

Your environment

  • CPython versions tested on: main

Linked PRs