53

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

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

我错过了什么吗?

4

4 回答 4

49

晚了,但希望仍然有帮助。制作以下别名:

alias ll u;;d;;l

然后,每当您键入时ll,pdb 都会从当前位置列出。它通过向上堆栈然后向下堆栈来工作,这会将'l'重置为从当前位置显示。(如果您位于堆栈跟踪的顶部,这将不起作用。)

提示:永久别名

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

于 2012-08-07T14:13:11.373 回答
37

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

来源:Python 错误跟踪器 #4179

于 2014-04-14T15:38:40.707 回答
24

这个问题现在7岁了..

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

(pdb) l .

这现在有效。

于 2018-09-17T08:08:51.093 回答
21

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

于 2011-03-02T15:39:21.360 回答