在符号链接目录中使用代码时,为什么pdb不会在断点处停止?

时间:2019-09-26 18:50:11

标签: python symlink pdb

我正在使用Python 3.7.3。我有两个文件:

--------------------------------------------------------------------------- ValueError Traceback (most recent call last) <ipython-input-3-1f3f99bc45ee> in <module> 5 specs = group.find_elements_by_class_name("specs__cell") 6 dimension = specs[0].text.strip() ----> 7 value = float(specs[1].text.replace("in","").strip()) 8 #print(dimension,":",value) 9 if dimension not in data: ValueError: could not convert string to float:

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的地方?

1 个答案:

答案 0 :(得分:0)

看来,解决方案是键入文件的完整路径。

from add import add
(Pdb) b /home/user/poo/add.py : 2
Breakpoint 1 at /home/user/poo/add.py:2
(Pdb) c
> /home/user/poo/add.py(2)add()
-> print("hello")
(Pdb)

由于需要更多的击键,因此它仍然有点发臭。