【问题标题】:winpdb is not recognising function inputs?winpdb 不识别函数输入?
【发布时间】:2016-06-05 11:46:09
【问题描述】:

这是我的第一篇文章! :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

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

【问题讨论】:

    标签: python winpdb


    【解决方案1】:

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

    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)的状态

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-01-19
      • 2017-01-16
      • 1970-01-01
      • 2022-09-22
      • 2021-12-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多