问题标签 [ipdb]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
6254 浏览

python - ipython 调试器:交互式 pdb 的完整回溯?

我最近从 ipython0.10 切换到 ipython0.11。在 ipython0.11 中,当 python 调试器参与(即使用%pdb)时,我只看到完整回溯的一小段,而在 ipython0.10 中,我会看到完整回溯。据我所知,不能从 pdb 命令行直接访问完整的回溯 - 您可以使用 'u' 浏览它,但不能直接看到它。

那么,有没有办法显示完整的回溯?比如配置参数?

或者,更有用的是,有什么方法可以让 ipython 只显示被捕获的异常,而不是显示它在代码中被捕获的位置?

编辑:示例:

我想在退出 pdb之前 q查看 ZeroDivisionError 。

0 投票
1 回答
1834 浏览

python - ipdb、多线程和自动重新加载程序导致 ProgrammingError

我正在使用 ipdb 调试器在本地调试多线程 Web 应用程序(Django、Plone)。通常 ipdb 似乎会因为我在调试提示符下发生的自动重载而感到困惑。结果堆栈跟踪出现

在此之后,程序无法关闭(挂起线程)或 ipdb 本身停止工作。

有没有办法用 ipdb 缓解这个问题并使其更加多线程/自动重载安全?

编辑:稍微澄清了这个问题,因为我相信这可能是潜在的 IPython 问题。可能有某种解决方法可以使 IPython 在重新加载时简单地丢弃历史记录,或者以其他方式禁用有问题的 IPython SQLite 写入。

0 投票
0 回答
196 浏览

ipython - 在 ipdb 中运行 IPython 魔法

我可以 在 ipdb 中%paste使用IPython 魔法吗?%cd有没有办法让 ipdb 在命令行中解释这些魔法?

0 投票
1 回答
1933 浏览

python - ipython ipdb,当通过 ipdb.set_trace() 调用时,在调试时不记得命令历史记录

如果我正常运行,iPython 确实会记住命令历史记录ipython,例如在 repl 中测试基本的东西,但我希望能够从上一个调试会话中提取调试命令,我通过简单地运行来进行调试我的程序正常,程序包含

设置它以便我可以trace()在程序中的任何位置编写以便在我运行程序时开始调试,或者让它在它自己死时自动启动事后调试。

在快速代码/测试迭代方面,带有 iPython 的 Python 已经超越了其他语言,而此时我已经接近涅槃了……

0 投票
2 回答
1386 浏览

python - ipdb 中的后续“列表”命令

l我只是 注意到listipdb. 我想我在过去看到过与 Perl 调试器类似的东西,但它仍然让我感到困惑。

我第一次使用它时,它会在当前步骤(断点)周围正确显示约 10 行代码。但是,如果我反复按下它,它不会再显示当前位置周围的代码,而是显示它下面的代码。

最终list显示脚本的最后几行,如果我l再次按下它就不再显示任何内容。

为什么会这样,我怎样才能让它在我第一次调用它时表现得一致?

0 投票
1 回答
8394 浏览

python - 为 Python 3 安装 ipdb?

我安装了ipdb使用pip,但我仍然得到

ImportError: No module named ipdb.

我必须做其他事情才能引入这个模块吗?当然,我import ipdb也在我的文件的顶部。我的想法是这样的:我安装了 Python 2.7 和 Python 3。Pip 安装ipdb到 Python 2.7 目录,但我正在运行的 Python 模块使用的是 Python 3。我认为这是问题所在,但我该如何解决它,以便ipdb可以与我的 Python 3 模块一起使用?谢谢!

0 投票
3 回答
3160 浏览

python - 使用列表生成器时 Python 3 中的 pdb 模块中可能存在错误

在 Python 3 中运行此代码后:

以下表达式有效:

但以下表达式失败:

以上在 Python 2.7 中运行良好。

这是一个错误还是我错过了什么?

更新:查看新接受的答案。这确实是一个错误(或有问题的设计),现在已通过在 pdb 中引入新的命令和模式来解决。

0 投票
1 回答
167 浏览

python - 在 Eclipse 中使用 ipdb

在 Eclipse 中调试 Python 代码通常是两个重量级的,所以我经常更喜欢 pdb.set_trace() 来快速检查我的代码。但是 ipdb 提供了一些不错的功能,例如制表符补全和语法高亮。是否也可以在 Eclipse 中使用 ipdb?

导致:

所以我可以访问 ipdb 调试器并获取有关我的代码的信息,但是制表符完成不起作用,语法突出显示看起来很奇怪,而且最重要的是这些奇怪的文本字符串。我已经将编码设置为 UTF。你有这方面的经验吗?

0 投票
1 回答
111 浏览

python - ipdb 输出和 Python 解释器之间的差异

这是我的 python 脚本报告的错误:

好的,我猜这一切都很好。但是当我进一步检查这个元素时ipdb,结果如下:

条件测试适用于ipdb,但是当我运行脚本时,解释器似乎将其v视为布尔值,而不是当然是可下标的元组。1. 为什么?2.为什么两者有区别?

这是我编写的代码块:

0 投票
1 回答
1904 浏览

python - ipdb中的'*** Oldest frame'是什么意思?

我正在尝试向服务器发出 http 请求并检查我返回的内容。但是,当我尝试使用HTTPResponse objectwith 时ipdb,我不断得到*** Oldest frame并且我无法在我应该能够运行的对象上运行任何函数。这是用于获取的代码块和ipdb输出:

代码块:

ipdb 输出:

这是什么*** Oldest frame意思,我怎样才能让这个对象变成更有用的东西,我可以在上面运行适当的功能?