python - 如何强制 python 的 VM 打印堆栈跟踪?

标签 python debugging

我正在处理一个 python 编写的服务器,它会锁定并停止工作,包括日志记录。我想知道是否有一个 python 相当于 java 的“kill -3”信号,它至少打印当前的堆栈跟踪。

最佳答案

使用faulthandler 模块。 https://pypi.python.org/pypi/faulthandler/

import faulthandler
faulthandler.register(signal.SIGUSR1)

这在 C 级别的 Python 解释器循环信号处理之外工作,因此即使 Python 解释器本身挂起等待其他东西,它也能工作。

另请参阅:http://docs.python.org/dev/library/faulthandler

关于python - 如何强制 python 的 VM 打印堆栈跟踪?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2165202/

相关文章:

c++ - 调试服务器

python - 将 `numpy` 数组的元素清零(按行)小于给定向量的值

python - 为什么我无法验证通过自定义管理.py 命令创建的 Django 用户?

python - Cython 和 CPython 之间的列表理解结果不同

python - 怎么把500Hz csv数据文件转换成wav音频文件?

ruby - 尝试在 ruby​​ 脚本上运行 ruby​​-debug 时如何消除此错误

debugging - 如何播放从编解码器转储的原始 PCM 文件?

java - Eclipse 调试器不工作(禁用跳过断点)

c - Printf 以某种方式改变了一些东西?

python - 创建插入对象