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

问题描述 投票:36回答:5

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

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

我错过了什么吗?

python pdb
5个回答
38
投票

迟到但希望仍然有用。制作以下别名:

alias ll u;;d;;l

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

提示:永久别名

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


18
投票

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

Source: Python Bug tracker #4179


16
投票

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


12
投票

这个问题现在已经7岁了..

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

(pdb) l .

这现在有效。


8
投票

也许你应该尝试ipythonipdbpdb的包装。

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

© www.soinside.com 2019 - 2024. All rights reserved.