这是我的第一篇文章! :D
我正在尝试学习如何使用winpdb来调试一些python代码并遇到问题。考虑以下python函数simple.py:
def simple(a,b):
c = a + b
return c
我在Windows中并使用存储此函数的目录中的命令行尝试使用以下命令运行winpdb:
winpdb simple.py 2 1
这是使用a = 2
和b = 1
调试函数simple.py的正确方法吗?当我在命令行中执行上面的操作时,winpdb启动但是a
和b
未定义,例如(当上面的内容输入到cmd窗口时从winpdb控制台获取):
> eval a
<type 'exceptions.NameError'>, name 'a' is not defined
我很遗憾不得不提出这样一个基本问题,但我似乎无法在网上找到任何解决方案。
答案 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)