我有一个Python3.4和PyQt5应用程序。此应用程序与嵌入式设备通信(发送和接收一些帧)。
我有一个方法(从QThread运行)来检索设备事件(它可以是10个事件或超过600个事件)。这种方法在“释放”模式下运行良好。 但是当我使用Pycharm以“调试”模式启动程序时,它将在没有断点的情况下工作,但如果我放置一个断点,它将以退出代码0崩溃。
我有一个重试按钮来启动此过程。 因此,在发布模式下,如果我一次又一次地重试,它也会因退出代码0而失败。
此外,应用程序每次都不会在同一时刻崩溃,如果从设备读取的数据量很大,软件会提前崩溃,否则会更长。
所以我在考虑记忆,但我不能发现任何异常。 我试图在我的程序中重新引发每个异常,没有,所以我试着在我的主程序中添加一些行:
def on_exception_triggered(type_except, value, tb):
import traceback
trace = "".join(traceback.format_exception(type_except, value, tb))
print("ERROR HOOKED : ", trace)
sys.__excepthook__(type_except, value, tb)
sys.excepthook = on_exception_triggered
但它没有什么了解
答案 0 :(得分:0)
实际上,你可以做的最好的事情是尝试使你的代码独立于pyqt并调试它寻找问题修复它们并与pyqt建立连接,因为否则即使你的代码工作正常,你也会得到一个接口屏幕,你不能看到发生了什么