Я использую Python-3.7.3.У меня есть два файла:
tmp/add.py
def add(a,b):
print("hello")
return(a+b)
tmp/main.py
from add import add
a=9
b=10
c=add(a,b)
Если я запускаю
$ python -m pdb tmp/main.py
> /home/user/tmp/main.py(1)<module>()
-> from add import add
(Pdb) b add.py : 2
Breakpoint 1 at /home/user/tmp/add.py:2
(Pdb) c
> /home/user/tmp/add.py(2)add()
-> print("hello")
(Pdb)
pdb
правильно останавливается на точке останова.Теперь, если я создаю символическую ссылку на каталог (ln -s tmp poo
) и пытаюсь запустить pdb
в каталоге с символьными ссылками:
$ python -m pdb poo/main.py
<function save_history at 0x2aaab21e1f28>
> /home/user/poo/main.py(1)<module>()
-> from add import add
(Pdb) b add.py : 2
Breakpoint 1 at /home/user/tmp/add.py:2
(Pdb) c
hello
The program finished and will be restarted
Ясно, что pdb
не удалось остановить на точке останова, и возникают проблемыс символическими ссылками.
Вопрос
Есть ли способ обойти эту проблему, или я просто застрял, переходя в каталог, где мой код живет и работает pdb
там?