python - 迷失在pudb命令行区

标签 python pudb

我开始使用 pudb 进行 Python 调试。结果很好,我可以单步执行,它在我用 pudb.set_trace() 放入代码的断点处停止。到目前为止,一切都很好。我遇到的主要问题是:

如果我按 ^X 进入命令行面板,我可以输入可执行行或变量名,就像运行交互式 Python,但最轻微的错字(或尝试搜索其他命令,或请求帮助() ) 让我陷入无法恢复的状态。甚至 Control-c(如 https://docs.python.org/2/tutorial/appendix.html#tut-interac 中所述)也只是显示为“^C”并且什么都不做。

例如,如果我输入“help()”,它会打印一些 Python(不是 pudb)帮助,然后以黄色重新显示“help()”,然后我就死在水里了。退格键不会影响显示的“help()”,而 ^H 只会显示为插入符号 + H——直到我按下回车键,当它似乎作为文字退格键附加到“help()”时,因为我可以使“help()”的一部分消失。我可以在“help()”之后输入任何内容,但我总是得到:

SyntaxError: unexpected EOF while parsing

然后重新显示我输入的内容。我如何“清除”此状态并返回正常的命令行,而不是退出我的终端程序?

在 Mac OS X 10.9.5 上使用终端,但我也可以尝试 Linux。

最佳答案

您的描述指出的不是 pudb 的问题,而是您正在使用的终端上退格键行为的问题。

请尝试更改此行为,以便发送正确的退格键。这可能会有所帮助:http://fredericiana.com/2006/10/16/fixing-backspace-and-delete-for-ssh-in-os-xs-terminalapp/

然后,你应该可以通过'!'进入pudb的全屏Python解释器了。并通过 Control-D 离开。

pudb 界面中的“小”Python 命令行可以通过 Control-X 访问,也可以通过 Control-X 离开。在这一个中,您还有其他三个快捷方式,它们也可以让您操作命令行:Control-V - 插入新行和 Control-N/Control-P 浏览命令行历史记录。如果其中任何一个不起作用,那是终端处理这些快捷方式的方式有问题,而不是 pudb 的处理方式。

关于python - 迷失在pudb命令行区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26677154/

相关文章:

python - pytest:给定异常 x 失败,否则通过

python - 在 Python 中使用 TF-IDF、NGrams 和余弦相似度进行字符串匹配

python - 如何调试需要用-m执行的python模块?

python - 如何选择或更改 pudb(Python 调试器)上的主题?

pytest - 如何使用 PUDB 在 Tox 中调试我的 python 单元测试?

python - 如何在同一张图上绘制不同模型的多个学习曲线?

python - 应该如何将 "24"的小时字符串与日期时间一起使用?

python - 这些集合操作是什么,为什么它们会给出不同的结果?