pyqt 编写的应用程序退出后崩溃

发布于 2021-12-03 17:21:54 字数 715 浏览 930 评论 8

崩溃描述如下:

问题签名:
  问题事件名称:	APPCRASH
  应用程序名:	python.exe
  应用程序版本:	0.0.0.0
  应用程序时间戳:	4e04e3f6
  故障模块名称:	QtCore4.dll
  故障模块版本:	4.8.5.0
  故障模块时间戳:	52133723
  异常代码:	c0000005
  异常偏移:	00000000001274b0
  OS 版本:	6.1.7600.2.0.0.256.1
  区域设置 ID:	2052
  其他信息 1:	55c7
  其他信息 2:	55c7eecfaf2708505ee26e0b1c34c0c8
  其他信息 3:	d34d
  其他信息 4:	d34dfd3bc71fd9578fdafbfcbcf49db9


联机阅读隐私声明:
  http://go.microsoft.com/fwlink/?linkid=104288&clcid=0x0804


如果无法获取联机隐私声明,请脱机阅读我们的隐私声明:
  C:Windowssystem32zh-CNerofflps.txt



由于程序在运行时不报错,在退出时才崩溃,所以个人觉得应该是资源回收出问题了,但是又不知道出现这种问题应该如何定位,调试。

期待各位指点!


如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(8

坐在坟头思考人生 2021-12-08 18:30:00

imoprt sip

sip.setdestroyonexit(False)

 

Reference

When the Python interpreter exits PyQt4 (by default) calls the C++ destructor of all wrapped instances that it owns. This happens in a random order and can therefore cause the interpreter to crash. This behavior can be disabled by calling the sip.setdestroyonexit() function.

PyQt5 always calls sip.setdestroyonexit() automatically.

执手闯天涯 2021-12-08 18:14:01

@Xsank , 哥们, 你这个问题解决了吗?我现在也遇到这个问题了.出错信息都跟你一样.

眼眸 2021-12-08 18:03:26

这个方法其实试过的,但是无效。由于不是过程式的代码,不太好找啊

眼泪淡了忧伤 2021-12-08 18:02:02

@Xsank 嗯,的确麻烦。我的问题通过这个方法搞定了。

岁吢 2021-12-08 17:41:45

可能是QT的事件循环退出后,强制释放调了Python代码所需的资源。在qApp.quit()后,再执行一下sys.exit(0)。

可是我不能没有你 2021-12-08 17:05:05

由简单,到复杂。多运行几次。

第1次,进去就退出。看是否崩溃。

第2次,进去后,选一项模块运行。运行完后,马上退出。看是否崩溃。

依次类推,遍历所有模块。

执手闯天涯 2021-12-08 10:46:37

如上述所说,没有在python代码中报错,只是退出时崩溃,debug无效

清欢 2021-12-07 12:10:27

抓dump 

debug

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文