问题标签 [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 回答
303 浏览

python - ipdb:根据需要通过附加代码进行跟踪| Python

我用import ipdb;ipdb.set_trace()

有时,在调试时,set_trace我想验证框架/源之外的一些方法(用我的参数调用它,看看它在内部是如何工作的)。代码中还没有使用方法,所以跳转是不可能的。

某事喜欢:

# 这里:想在 do_b 之前检查 do_c,但不仅仅是从 do_c 获取结果(这很容易),而是跟踪整个 do_c 并保持在当前帧中的位置。

debug命令,但不能使用函数,我希望交互式 shell。

解决方法很耗时:停止调试器,修改代码(在示例中添加 do_c())并重新启动调试器)

0 投票
4 回答
10264 浏览

python - 是否可以删除使用 ipdb.set_trace() 设置的断点?

ipdb.set_trace()在 Python 代码中的某个地方使用过。是否可以使用 IPDB 命令忽略此断点?

clear告诉我它清除了所有断点,但是当 IPDB 偶然发现带有ipdb.set_trace().

disable 1告诉我:No breakpoint numbered 1 ignore 1说:Breakpoint index '1' is not valid

澄清一下:当然,我可以简单地从我的源代码中删除断点。但这需要退出调试器并重新启动它。通常需要做很多工作才能到达某个地方,重新启动调试器会使生活变得更加困难。此外,如果有一个巨大的循环并且您想要检查循环中的对象,最简单的方法是在循环中直接在对象之后放置一个断点。然后我怎么能跳过循环(以及所有成千上万的调用set_trace())并在循环之后使用代码单步执行next

0 投票
1 回答
598 浏览

python - ipdb 显示颜色代码而不是颜色

用于import ipdb; ipdb.set_trace()插入断点。第一次击中断点时颜色很好,但第二次击中 BP(按c)时显示颜色代码而不是真彩色,依此类推。

它在 Windows 7 中,python 2.7 和 2.6 有同样的问题。我认为一种解决方法是使用无配色方案(如何获得无配色方案?)以及如何使用可用的配色方案解决此问题?谢谢!

0 投票
2 回答
6272 浏览

windows - 如何在 Windows 上使用 Anaconda 安装 ipdb?

我已经安装了 Python 2.7,但我想尝试IPython,所以我按照 ipython 网站上的建议通过Anaconda安装了 IPython (尽管不确定这样做的优缺点是什么)。现在我想使用ipdb调试器。我想我需要确保它安装在蟒蛇版本的蟒蛇而不是普通的蟒蛇之下。

我该如何安装?一般来说,如果我想在 Anaconda 下安装一些任意 python 模块,我该怎么做?

0 投票
1 回答
663 浏览

python - 在 Tornado 的 ioloop 异常时启动 pdb

在独立的 Python 程序中执行此操作通常很有用:

(即如果发生未捕获的异常,程序将进入pdb事后分析模式)

但这不适用于 Tornado ioloop bc 似乎 ioloop 捕获未捕获的异常并打印或记录它们。如果我安装上面的钩子,程序只有在按下 Ctrl-C 时才会进入事后模式,这有点晚了。:-)

有没有办法在没有猴子修补龙卷风的情况下实现这一目标?

0 投票
1 回答
13397 浏览

python - 获取对当前异常的引用

我找不到任何ipdb help显示当前异常的命令。

import sys; print sys.exc_info()是不行的。

目前我做:

然后我可以一起exc分析它。

如何轻松获得对当前有效异常的引用?

0 投票
1 回答
476 浏览

python - 使 ipdb 提示着色

如何使ipdb提示着色?

在打印之间导航很困难:

在此处输入图像描述

0 投票
1 回答
353 浏览

python - 在 python ipdb 中禁用 vim 绑定

使用 vim、zsh、git 插件安装dotfiles 存储库后,我的 ipdb 具有 vim 键绑定而不是普通绑定。

带箭头的导航非常糟糕,现在它有时会进入 VIM(打字/正常)等模式。

有人建议我检查 ~/.inputrc,它为命令行工具设置了这些绑定。我在那里只找到了一行:

我尝试删除它并重新启动终端,但它没有帮助。

我使用 iTerm2 和 MacVim。

我知道这个 dotfile repo 是一个单独的,有自己的配置,所以它可能与普通的 vim 配置有点不同,但是我仍然认为 vim 在这里应用它的魔力与在其他地方一样,所以也许有人可以帮助我那。

0 投票
2 回答
3892 浏览

python - 如何在 pdb (ipdb) 中找到断点号?

试图找到如何执行 ipdb(或 pdb)命令,例如disable.

调用h命令disable

disable bpnumber [bpnumber ...] 禁用以空格分隔的 bp 编号列表形式给出的断点。

那么我如何获得这些 bp 数字呢?正在查看命令列表,但无法显示 bp 编号

[编辑] 和命令不做任何事情,尽管在我的模块中我显然设置了 1 个这样breakb断点- 对于. 而且没有定义。info breakpointsimport pdb; pdb.set_trace( )ipdbinfo

helpin的输出pdb

记录的命令(输入帮助):========================================= EOF bt cont enable jump pp run unt ac continue exit lqs until alias cl dh
list quit step up args clear debug help n
r tbreak wb commands disable ignore next restart u whatis break condition down jp
return unalias where

其他帮助主题:=========================== exec pdb

未记录的命令:======================= retval rv

对于ipdb

记录的命令(输入帮助):========================================= EOF bt cont enable jump pdef psource run unt ac
continue exit l pdoc qs until alias cl
dh list pfile quit step up args clear debug help n pinfo r tbreak wb
commands disable ignore next pinfo2 restart u whatis break condition down jp pp return unalias where

其他帮助主题:=========================== exec pdb

未记录的命令:======================= retval rv

我已将我的模块保存为 pb3.py 并像这样在命令行中执行它

python -m pb3 执行确实在断点处停止,但在 di pdb (ipdb) 控制台中,指示的命令不显示任何内容 - 或显示 NameError

如果需要更多信息,我会提供。

0 投票
1 回答
1882 浏览

python - 将 ipdb 与 emacs 的 gud 一起使用,而无需在代码中设置显式断点

我正在使用 python.el 如果我从菜单中选择“调试器”,然后输入“python -m pdb myfile.py”,gud 启动,并且在拆分框架中我看到(Pdb)提示符和我的 python另一行的代码在第一行带有插入符号,表示它已准备就绪。例如,'n' 步到下一行,插入符号相应地移动。

相反,如果我输入“python -m ipdb myfile.py”,则帧拆分,其中一个拆分标记为 gud,但没有明显的 ipdb 控制台。换句话说,这种启动ipdb的方式似乎行不通。如果我使用 ipdb.set_trace() 手动将断点插入到我的 python 代码中,则 Ipdb 工作正常,但它不使用 gud 接口。这是故意的,以便 ipdb 的堆栈跟踪能够很好地工作吗?

如果是这样,那很好,但是有没有办法从 emacs 启动 ipdb 而无需手动添加 set_trace() 命令?