你如何退出PDB / / /杀死该程序?

时间:2017-05-01 09:02:27

标签: python pdb

如何杀死PDB及其运行的程序,类似于LLDB的proc kill; exitexit (y)命令?

Ctrl + D 还没有工作,我在这里看到的所有问题都是如何在保持程序运行的同时退出。但是,我正坐在一个PDB会话中,我发现了一个导致无限循环的错误,虽然我确实可以采取其他措施来杀死该程序,但我还是想知道PDB命令是什么就是这样做。

1 个答案:

答案 0 :(得分:8)

杀死程序的pdb命令为qquit。引用docs

  

q(uit)
  从调试器退出。正在执行的程序被中止。

如果q不足以停止循环(也许您对except的操作不正确),则可能需要使用os._exit()这是一个低级命令来终止进程立即。 (qsys.exit通过抛出异常来工作-bdb.BdbQuit的{​​{1}}和q的{​​{1}}。)SystemExit将防止任何异常sys.exit块或os._exit方法无法运行,因此您可能不得不处理数据损坏或数据丢失的情况。

例如:finally

https://stackoverflow.com/a/38511414/2036148