【发布时间】:2011-03-02 15:31:19
【问题描述】:
在 perl 调试器中,如果您重复列出带您离开当前行的代码段,您可以通过输入命令 .(点)返回到当前行。
我无法使用 python PDB 模块找到任何可比的东西。如果我列出自己离开当前行并想再次查看它,似乎我必须记住当前正在执行的行号(对我来说不太可能)或执行语句(通常不受欢迎) .
我错过了什么吗?
【问题讨论】:
在 perl 调试器中,如果您重复列出带您离开当前行的代码段,您可以通过输入命令 .(点)返回到当前行。
我无法使用 python PDB 模块找到任何可比的东西。如果我列出自己离开当前行并想再次查看它,似乎我必须记住当前正在执行的行号(对我来说不太可能)或执行语句(通常不受欢迎) .
我错过了什么吗?
【问题讨论】:
晚了,但希望仍然有用。制作以下别名:
alias ll u;;d;;l
然后每当你输入ll,pdb 就会从当前位置开始列出。它通过向上堆栈然后向下堆栈来工作,这会将'l'重置为从当前位置显示。 (如果您位于堆栈跟踪的顶部,这将不起作用。)
提示:永久别名
要使别名永久化,请将该行添加到用户主目录 (~/.pdbrc) 中的 .pdbrc 文件中。这适用于 pdb 和 ipdb。
【讨论】:
.pdbrc 文件中,这样您就不必每次都输入它(描述为here)
alias l => alias l u;;d;;l 进入循环
在 Python 3.2 及更高版本中,您可以使用 list . 重置列表位置。
【讨论】:
l.
这个问题已经 7 岁了..
如果有人对此问题感到好奇,请使用点
(pdb) l .
现在可以了。
【讨论】:
*** Error in argument: '.'
好吧,我认为 perl 调试器中没有类似于 . 的命令,但是您始终可以使用 where / w 命令找到当前行。这将向您显示当前(上下文)帧以及最近的帧,我相信这是触发调试器的位置。
【讨论】: