0

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

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

   def simple(a,b):

    c  = a + b

    return c 

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

winpdb simple.py 2 1

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

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

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

4

1 回答 1

0

提供的源文件定义了一个函数,但它从不调用该函数并且根本不执行任何代码。不能轻易调试这种形式的代码。通常会在文件末尾添加对函数的示例调用,例如

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

比你可以像这样启动winpdb

winpdb simple.py

通过单击c = a + b行边距并按 Go 按钮在函数中放置断点。

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

于 2016-07-05T23:44:53.817 回答