簡體   English   中英

如何強制python的VM打印堆棧跟蹤?

[英]How to force python's VM to print a stack trace?

我正在處理一個python編寫的服務器,它會鎖定並停止工作,包括記錄。 我想知道是否有一個python相當於java的“kill -3”信號,至少打印出當前的堆棧跟蹤。

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

import faulthandler
faulthandler.register(signal.SIGUSR1)

這在Python的解釋器循環的C級信號處理之外工作,所以它甚至在Python解釋器本身掛起等待其他東西時也能工作。

另見: http//docs.python.org/dev/library/faulthandler

import signal, traceback
def quit_handler(signum,frame):
    traceback.print_stack()
signal.signal(signal.SIGQUIT,quit_handler)

您可以在此問題中找到(僅限Unix)解決方案。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM