python - 如何在不修改源代码的情况下检查 Winpdb Python 调试器中的返回值?

标签 python debugging pdb winpdb

pdb ,默认的 Python 调试器,有一个未记录的 (?) retval 命令,如果您已经计算了当前函数的返回值并且距离返回调用者框架只有一步之遥,则该命令会打印当前函数的返回值。

图形中是否有类似的功能Winpdb调试器?我在任何地方都找不到返回值,并且它不将 retval 识别为命令。


顺便说一句,我知道我可以添加一个中间变量并检查它,但我想避免编辑我正在调试的代码,特别是当它来自第三方库时。

#original code
def f(x):
    return x+1

#debugging code
def f(x):
   r = x+1
   return r

最后,我也愿意接受替代调试器,只要它们有 GUI、在 Linux 上运行并且不捆绑在 IDE 中即可。

最佳答案

curses GUI 算不算? PuDB调试器在终端中运行,但具有基于curses的GUI。看截图

(不要被蓝色关闭,还有其他主题)。

它有你想要的功能,当你跳过返回语句时,它会停止并显示返回值。请参阅下面的屏幕截图 enter image description here

关于python - 如何在不修改源代码的情况下检查 Winpdb Python 调试器中的返回值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18089899/

相关文章:

python - ipdb 需要 Ctrl+D 来处理命令

python - python 中的 RESTful API 请求 [tensorflow 服务]

python - HTTP 响应中使用了哪种 base64?

debugging - Visual Studio 2013 尝试加载 iisexpress.pdb

c++ - gdb,反转范围,错误的断点号

c++ - 是否可以使用 IDiaDataSource::LoadDataFromPdb 从符号存储中读取 pdb?

Python - 在抛出异常时启动交互式调试器

python - 如何使用退出或继续程序

python - Python 中的 "IOError: [Errno 0] Error"错误

visual-studio - 如何更改 Visual Studio 2008 中调试的默认浏览器?