Python pdb - 如何更改“l”命令列出的默认行?

时间:2012-08-23 08:13:37

标签: python list line default pdb

我正在尝试从原始pdb程序调试我的python,而不是通过emacs运行pdb(它在代码的文本显示中用标记跟踪当前行)。 pdb中的list命令只显示几行代码,这有点令人讨厌,我宁愿用当前行的所有代码填充我的终端,直到当前行。

我知道我可以通过查看行号输入l 50,100(其中100是当前行)手动执行此操作,但这非常耗时,我想将其设置为自动运行。

我想知道是否有办法定义pdb命令来执行此操作?我猜它需要(1)访问当前行的编号N;然后(2)执行“l N-50,N”。我经常搜索,但找不到之前做过这个的人。也许有办法访问pdb模块自己的内部以获取行号?

(或者一种迂回的方式是写一些调用列表的东西,解析输出以提取当前行,然后执行一个新的列表命令,我想知道是否有人已经这样做了?这是IDE如何设法得到的来自pdb的当前行信息还是他们使用它的内部结构我想知道?)

1 个答案:

答案 0 :(得分:1)

您可以扩展PDB类,但扩展接口没有很好地记录。

我建议使用pdb++及其粘性功能,如果我正确理解您的用例,那么它几乎可以满足您的需求。

相关问题