使用 cx_freeze 时获取 Python 堆栈跟踪
Get Python stack trace while using cx_freeze
我有一个用 Python 编写的数据采集程序,我将其作为可执行文件(使用 cx_freeze)分发给我的协作,因为我不想打扰他们安装 Python 并安装所有软件依赖项。该计划已经运作良好一年了。最近,程序开始崩溃(崩溃,不是脚本错误,即Python虚拟机本身崩溃)。所以我想知道是什么库导致了这个问题。这个问题是随机发生的,所以很难系统地查明原因。
我了解了 faulthandler,我想将它与我的 cx_freeze 一起使用,因为我无法确定问题是由于 cx_freeze 本身还是由于到其他图书馆。
问题:我怎样才能生成一个 cx_freeze 可执行文件,它将使用 faulthandler
?
我试过的:
我当前的 cx_freeze 安装脚本如下:
import sys
from cx_Freeze import setup, Executable
from GUI.Meta import *
target = Executable("Main.py",
#base = "Win32GUI",
icon = "GUI\icon.ico",
compress=True,
targetName="Prog.exe")
setup(
name = "My Software",
version = SOFTWARE_VERSION,
description = "",
executables = [target])
我尝试用 Main.py -q -X faulthandler
替换我的可执行部分 Main.py
,但这没有用。使用 import faulthandler
或 from faulthandler import *
在我的 cx_freeze 安装文件中导入 faulthandler
没有帮助。
请指教
附加信息:我正在使用的依赖项(如果您可能知道问题的可能原因):PySide、Sympy、Numpy、H5py、PySerial、Matplotlib
我了解到我可以使用 procdump
。可以从 here 下载。这是一个非常简单的程序,可以记录堆栈跟踪。您可以将其用于:
C:\>procdump -ma -i c:\Dumps
这会将崩溃的任何程序的堆栈跟踪转储到该文件夹。
我有一个用 Python 编写的数据采集程序,我将其作为可执行文件(使用 cx_freeze)分发给我的协作,因为我不想打扰他们安装 Python 并安装所有软件依赖项。该计划已经运作良好一年了。最近,程序开始崩溃(崩溃,不是脚本错误,即Python虚拟机本身崩溃)。所以我想知道是什么库导致了这个问题。这个问题是随机发生的,所以很难系统地查明原因。
我了解了 faulthandler,我想将它与我的 cx_freeze 一起使用,因为我无法确定问题是由于 cx_freeze 本身还是由于到其他图书馆。
问题:我怎样才能生成一个 cx_freeze 可执行文件,它将使用 faulthandler
?
我试过的:
我当前的 cx_freeze 安装脚本如下:
import sys
from cx_Freeze import setup, Executable
from GUI.Meta import *
target = Executable("Main.py",
#base = "Win32GUI",
icon = "GUI\icon.ico",
compress=True,
targetName="Prog.exe")
setup(
name = "My Software",
version = SOFTWARE_VERSION,
description = "",
executables = [target])
我尝试用 Main.py -q -X faulthandler
替换我的可执行部分 Main.py
,但这没有用。使用 import faulthandler
或 from faulthandler import *
在我的 cx_freeze 安装文件中导入 faulthandler
没有帮助。
请指教
附加信息:我正在使用的依赖项(如果您可能知道问题的可能原因):PySide、Sympy、Numpy、H5py、PySerial、Matplotlib
我了解到我可以使用 procdump
。可以从 here 下载。这是一个非常简单的程序,可以记录堆栈跟踪。您可以将其用于:
C:\>procdump -ma -i c:\Dumps
这会将崩溃的任何程序的堆栈跟踪转储到该文件夹。