gpt4 book ai didi

python - PyQt5 失败并显示神秘消息

转载 作者:行者123 更新时间:2023-11-30 22:39:48 28 4
gpt4 key购买 nike

我创建了带有模型和 View 的小应用程序。自从开始 PyQt5 每次出现问题时都会崩溃
进程已完成,退出代码 -1073740791 (0xC0000409)
其极其神秘。我不知道哪个组件出现故障。一段时间以来,我能够通过调试解决这个问题,但有些东西失败了,我不知道是什么。

如何从PyQt5获取调用堆栈?如何获取更详细的崩溃消息?

Python 3.6.1PyQt5 5.8.1PyCharm

最佳答案

已通过将您的 NVIDIA 驱动程序回滚到以前的版本来修复此问题。我使用的是 378.49 版本,然后切换回 376.33,现在一切正常。无论您的显卡是什么,您都可以尝试一下。

GTX 965M 示例:

Go to Device Manager -> Display adapters -> NVIDIA GeForce GTX 965M (Right Click) -> Properties -> Driver tab -> Roll Back Driver.

注意:

Nvidia 驱动程序有新版本 (378.66)。与 guru3d 的驱动程序相比 - 您拥有来自原始供应商的驱动程序并具有最新的修复程序。 :)

我已在我的笔记本电脑上测试了此版本(使用GeForce GTX 960M)。

它在环境控制台上启动、工作并以退出代码 0 结束。现在好像没问题了。

以下是 Nvidia 自从其驱动程序的 (378.49) 版本出现问题以来所做的更改:

(摘自 http://us.download.nvidia.com/Windows/378.66/378.66-win10-win8-win7-notebook-release-notes.pdf,第 15 页)

更新:

我也处理过同样的问题,答案是双重的:

  1. 崩溃的原因可能有很多。这可能是一个编程错误,调用了一个不存在的函数,传递了一个小部件而不是一个布局,等等。但是由于您没有获得有用的输出,您不知道在哪里寻找罪魁祸首。
  2. PyQT 引发并捕获异常,但不会传递它们。相反,它只是以状态 1 退出,表明捕获了异常。

要捕获异常,您需要覆盖 sys 异常处理程序:

# Back up the reference to the exceptionhook
sys._excepthook = sys.excepthook

def my_exception_hook(exctype, value, traceback):
# Print the error and traceback
print(exctype, value, traceback)
# Call the normal Exception hook after
sys._excepthook(exctype, value, traceback)
sys.exit(1)

# Set the exception hook to our wrapping function
sys.excepthook = my_exception_hook

然后在执行代码中,将其包装在 try/catch 中。

try:
sys.exit(app.exec_())
except:
print("Exiting")

关于python - PyQt5 失败并显示神秘消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43039048/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com