如何在python PDB中列出当前行?

时间:2011-03-02 15:31:19

标签: python pdb

在perl调试器中,如果您反复列出使您远离当前行的代码段,则可以通过输入命令.(点)返回到当前行。

我无法使用python PDB模块找到任何可比性的东西。如果我列出我自己远离当前行并想再次查看它,似乎我必须要记住当前正在执行的行号(对我来说不太可能)或执行语句(通常是不合需要的) 。

我错过了什么吗?

5 个答案:

答案 0 :(得分:38)

迟到但希望仍然有用。请使用以下别名:

alias ll u;;d;;l

然后每当您键入ll时,pdb将从当前位置列出。它的工作方式是向上移动堆栈然后向下移动堆栈,重置“l”以显示当前位置。 (如果您位于堆栈跟踪的顶部,则无效。)

提示:永久别名

要使别名永久化,请将该行添加到用户主目录(.pdbrc)中的~/.pdbrc - 文件中。这适用于pdb和ipdb。

答案 1 :(得分:18)

在Python 3.2及更高版本中,您可以使用list .重置列表位置。

Source: Python Bug tracker #4179

答案 2 :(得分:16)

好吧,我认为perl调试器中没有与.类似的命令,但您始终可以使用where / w命令找到当前行。这将显示当前(上下文)帧以及最近的帧,我认为这是触发调试器的位置。

答案 3 :(得分:12)

这个问题已经7岁了。

如果有人对此问题感到好奇,只需使用点

(pdb) l .

这现在有效。

答案 4 :(得分:8)

也许您应该试用ipythonipdbpdb的包装。

ipdb为您提供编号行,彩色语法,制表符完成等。

相关问题