winpdb无法识别功能输入?

时间:2016-06-05 11:46:10

标签: python winpdb

这是我的第一篇文章! :D

我正在尝试学习如何使用winpdb来调试一些python代码并遇到问题。考虑以下python函数simple.py:

   def simple(a,b):

    c  = a + b

    return c 

我在Windows中并使用存储此函数的目录中的命令行尝试使用以下命令运行winpdb:

winpdb simple.py 2 1

这是使用a = 2b = 1调试函数simple.py的正确方法吗?当我在命令行中执行上面的操作时,winpdb启动但是ab未定义,例如(当上面的内容输入到cmd窗口时从winpdb控制台获取):

> eval a
<type 'exceptions.NameError'>, name 'a' is not defined

我很遗憾不得不提出这样一个基本问题,但我似乎无法在网上找到任何解决方案。

1 个答案:

答案 0 :(得分:0)

提供的源文件定义了一个函数,但它从不调用函数,也根本不执行任何代码。完全以该形式编写的代码无法进行简单的调试。 通常,对函数的示例调用将添加到文件末尾,如

def simple(a, b):
    c = a + b
    return c
simple(1, 2)

比你可以启动winpdb一样

winpdb simple.py

点击c = a + b行的边距,然后按“执行”按钮,在函数中放置断点。

之后,程序将停止在您可以使用eval a甚至eval simple(5, 6)

的状态