pdb - 输出是什么意思?

时间:2013-04-29 08:12:05

标签: python pdb

test.py

def fun():
    print 'Function'

if __name__ == '__main__':
    fun()

$ python -m pdb test.py

> /home/h/CARDIO/WorkSpace/PDB/test.py(4)<module>()
-> def fun():
(Pdb) n
> /home/h/CARDIO/WorkSpace/PDB/test.py(7)<module>()
-> if __name__ == '__main__':
(Pdb) n
> /home/h/CARDIO/WorkSpace/PDB/test.py(8)<module>()
-> fun()
(Pdb) n
Function
--Return--
> /home/h/CARDIO/WorkSpace/PDB/test.py(8)<module>()->None
-> fun()
(Pdb) n
--Return--
> <string>(1)<module>()->None
(Pdb) n
The program finished and will be restarted
  1. <module>->None指的是什么?
  2. 似乎fun()花了两个n来完成。 fun()是一个单一的陈述,不应该n一次一个陈述?为什么fun()需要两个n
  3. 我真的不知道--Return-- > <string>(1)<module>()->None的含义。没有一个单词或标志。

1 个答案:

答案 0 :(得分:1)

  1. 无是您的函数的返回值。模块是返回的函数,在您的情况下是实际模块。
  2. 第一次出现->def fun():是定义函数的位置。第二个叫它。
  3. 我现在不知道为什么模块的签名看起来像这样。这可能是因为你正在调试它并且它在pdb中运行。