你如何重复多个命令?
Multiple commands may be entered on a single line, separated by ;;.
[...]
Entering a blank line repeats the last command entered.
我已经尝试过了:
n ;; l
<ENTER>
但只会重复list命令。
坚持使用pdb(没有ipdb&co),你会知道如何轻松地重复多个命令吗?
谢谢 !
好吧,文档https://docs.python.org/3/library/pdb.html说
例外:如果最后一个命令是list命令,则列出接下来的11行。
就在这之后
输入空行会重复输入的最后一个命令
你提到过
在你的表达
n ;; l
正如我们所看到的,list命令'l'似乎是最后一个直接命中异常的命令
我遇到了同样的问题并找到了某种解决方案 - 我们可以通过按向上箭头键重复最后一个命令n;;l
然后输入,就像在终端中一样。希望这可以帮助。
如@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
。