为什么在 cmd.Cmd 子类函数中退出 ipdb 会退出函数?
Why does quitting ipdb while inside a cmd.Cmd subclass function exit the function?
我有一个小的 cmd 子类:
class Foo(cmd.Cmd):
def do_ipdb(self, *a, **kw):
import ipdb; ipdb.set_trace()
pass
Foo().cmdloop()
这可以让我进入 ipdb,但是当使用 'q' 或 CTRL-D 退出时,cmdloop 也会中断(这是不希望的)
我尝试用 try / except 包装 ipdb,但我没有到达 except 部分。退出 ipdb 后如何维护 cmdloop?
顺便说一句,我看到 cmd2 已经做了我想做的事情(使用它的默认 python
选项),但我仍然想知道旧的 cmd
根据 ipdb documentation,ipdb 暴露
same interface as the pdb module
Quit from the debugger. The program being executed is aborted.
因此,当您按下 'q' 时,调试器 和 运行 程序都会退出。
您可能想要使用不同的 pdb 命令,例如 c(ontinue):
Continue execution, only stop when a breakpoint is encountered.
我有一个小的 cmd 子类:
class Foo(cmd.Cmd):
def do_ipdb(self, *a, **kw):
import ipdb; ipdb.set_trace()
pass
Foo().cmdloop()
这可以让我进入 ipdb,但是当使用 'q' 或 CTRL-D 退出时,cmdloop 也会中断(这是不希望的)
我尝试用 try / except 包装 ipdb,但我没有到达 except 部分。退出 ipdb 后如何维护 cmdloop?
顺便说一句,我看到 cmd2 已经做了我想做的事情(使用它的默认 python
选项),但我仍然想知道旧的 cmd
根据 ipdb documentation,ipdb 暴露
same interface as the pdb module
Quit from the debugger. The program being executed is aborted.
因此,当您按下 'q' 时,调试器 和 运行 程序都会退出。
您可能想要使用不同的 pdb 命令,例如 c(ontinue):
Continue execution, only stop when a breakpoint is encountered.