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

zen*_*zic 38 python pdb

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

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

我错过了什么吗?

Gho*_*r21 39

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

alias ll u;;d;;l
Run Code Online (Sandbox Code Playgroud)

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

提示:永久别名

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

  • 这个命令非常方便.为了节省时间,您可以将其添加到`.pdbrc`文件中,这样您就不必每次都输入它(描述[here](https://docs.python.org/3/library/pdb.html#调试器命令)) (2认同)

小智 23

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

来源:Python Bug跟踪器#4179

  • 或快捷方式:“l”。 (3认同)

koj*_*iro 17

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


plh*_*lhn 11

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

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

(pdb) l .

这现在有效.

  • `*** 参数错误:“。” ` (2认同)

hob*_*es3 8

也许你应该尝试ipython或者ipdb包装pdb.

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

  • ipdb很棒,但与问题无关 (2认同)