如何重复多个命令?
Multiple commands may be entered on a single line, separated by ;;.
[...]
Entering a blank line repeats the last command entered.
我已经尝试过了:
n ;; l
<ENTER>
但只会重复列表命令。
坚持使用pdb(没有ipdb&amp; co),你知道如何轻松地重复多个命令吗?
谢谢!
答案 0 :(得分:0)
嗯,文档https://docs.python.org/3/library/pdb.html说
异常:如果最后一个命令是list命令,则接下来的11行 被列为。
就在
之后输入空行重复输入的最后一个命令
你已经提到了
在你的表达中
<磷>氮;;升
我们可以看到list命令&#39; l&#39;似乎是最后一个直接命中异常的命令
我遇到了同样的问题并找到了某种解决方案 - 我们只需按向上箭头键重复上一个命令n;;l
然后输入,就像在终端中一样。希望这会有所帮助。
答案 1 :(得分:0)
如@Song所示,您无法重复所需行为的原因(即,单步执行而不是显示上下文)是因为n ;; l
中的最后一条命令是l
。
解决这个问题的方法是为别名使用大写。这是我的.pdbrc
文件的样子:
# Enable completion
import pdb
import rlcompleter
pdb.Pdb.complete=rlcompleter.Completer(locals()).complete
# Show context on startup
l
alias S 'Stepping into...' ;; step ;; l
alias N 'Stepping over...' ;; next ;; l
alias C 'Continuing...' ;; continue ;; l
alias R 'Going to return...' ;; return ;; l
前面的字符串"Stepping into..."
等在执行自定义命令与本机pdb
命令时会告诉您。
这些相同的命令也适用于ipdb
。