【发布时间】:2016-03-10 18:01:25
【问题描述】:
我有一个 python 进程,产生多个后台进程。我目前看到一个/多个后台进程陷入死循环,或者它们变得反应迟钝。
我想将调试器附加到后台进程。所以,我可以弄清楚出了什么问题。我已经为我设置 pdb 跟踪的后台进程 (SIGUSR1) 注册了一个信号处理程序。
每当它挂起时,我都会将信号从另一个控制台发送到后台进程。但是,我没有看到任何可以帮助我调试代码的终端。
我做错了吗?或者有没有更好的方法将调试器附加到后台 python 进程。
我在 MAC 上运行,因此使用 gdb 并不简单。
def installHandlers():
signal.signal(signal.SIGUSR1,debugHandle)
def debugHandle(sig,frame):
global processLog
processLog.info("got the SIGUSR1")
import pdb
pdb.Pdb().set_trace(frame)
-谢谢
【问题讨论】: