我开始使用 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。