如何在Python PDB中列出当前行?
在perl调试器中,如果你反复查看代码的不同部分,离开了当前行,你可以通过输入命令.
(点)来返回到当前行。
我在使用python的PDB模块时找不到类似的功能。如果我查看了其他地方的代码,想要再回到当前行,似乎我要么得记住当前执行的行号(这对我来说不太可能),要么得执行一个语句(这通常也不太方便)。
我是不是漏掉了什么?
4 个回答
34
这个问题已经有7年了。
如果有人对这个问题感到好奇,可以直接使用点号。
(pdb) l .
现在这样就可以用了。
48
在Python 3.2及更高版本中,你可以使用list .
来重置列表的位置。
54
虽然有点晚,但希望还是能帮到你。你可以创建一个这样的别名:
alias ll u;;d;;l
这样每当你输入 ll
时,pdb 就会从当前的位置列出信息。它的工作原理是先向上查找调用栈,然后再向下查找,这样就能重置 'l',从当前的位置开始显示。(如果你在调用栈的最顶部,这个方法就不管用了。)
小贴士:永久别名
如果想让这个别名永久生效,可以把这行代码添加到你用户主目录下的 .pdbrc
文件中(路径是 ~/.pdbrc
)。这个方法适用于 pdb 和 ipdb。