你如何退出 PDB /和/终止程序?

How do you exit PDB /and/ kill the program?

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

Ctrl+D 不起作用,我在这里看到的所有问题都是如何在保持程序退出的同时退出 运行。然而,我正坐在一个 PDB 会话中,我发现了一个导致无限循环的错误,虽然我确实可以做其他事情来终止程序,但我想我会问 PDB 命令是做什么的.

杀死程序的pdb命令是q,或者quit。引用 docs:

q(uit)
Quit from the debugger. The program being executed is aborted.

q 不足以停止循环时(也许你有一个行为不当的 except 块),你可能需要使用 os._exit(),一个终止循环的低级命令立即处理。 (qsys.exit 通过抛出异常来工作 - bdb.BdbQuit 用于 qSystemExit 用于 sys.exit。) os._exit 将阻止任何来自 运行 的 finally 个块或 __exit__ 个方法,因此您可能不得不处理数据损坏或数据丢失的问题。

例如:import os; os._exit(0)

()