M_YYH 2021-10-15 16:03 采纳率: 0%
浏览 149

自学Pyqt5写的程序运行一段时间就闪退Process finished with exit code -1073741819(0xC0000005)

最近自学了pyqt5,对于python基础都不熟悉的我来说,有点还没学会走,就先学跑了。
做出来的程序用于进行路由器升级固件使用,程序可正常运行一段时间,重复进行路由器升级操作,成功几遍后便会出现闪退的情况,没有返回有用的报错信息,只有Process finished with exit code -1073741819(0xC0000005),根据百度的方法去尝试了升级、降级python版本,pyqt5的版本,pycharm去兼容等,都没有解决问题。
发现总是出现在升级固件的过程中出现闪退,最后定位到是我将串口信息实时打印到界面的时候造成的,将这条代码注释之后,程序正常升级固件50次,未出现闪退的现象。
不知道到底是什么原因造成的

    def recv_form_serial(self):
        while True:
            count = self.__ser.inWaiting()  # 获取串口缓冲区数据
            if count != 0:
                self.__recv = self.__ser.read(self.__ser.in_waiting).decode("gbk", "ignore")  
                self.textEdit.insertPlainText(self.__recv)  # 将后台信息打印到界面
                self.textEdit.ensureCursorVisible()  # 保证光标可见 ,用于串口数据打印后下拉
                time.sleep(0.15)
            if self.__messy == False:    
                break
            elif self.__messy:  
                continue

self.textEdit.insertPlainText(self.__recv) 尝试多次,只要将这条代码注释,就不会闪退。具体原因还未找到。

  • 写回答

1条回答 默认 最新

  • CSDN专家-黄老师 2021-10-15 16:48
    关注

    textEdit没有insertPlainText这个方法,只有setText这个,,换成self.textEdit.setText(self.__recv)

    评论

报告相同问题?

问题事件

  • 创建了问题 10月15日

悬赏问题

  • ¥30 codelite全屏时file、setting那一行消失了
  • ¥15 gazebo-rviz教程
  • ¥15 付费求做一个自助抢单插件
  • ¥15 bat批处理,关于数据复制问题
  • ¥50 同步两个不同结果的array中某些属性
  • ¥15 悬赏15远程操控解决问题
  • ¥15 CST复制的模型无法单独修改参数?
  • ¥15 前端页面想做个定时任务,但是使用requestAnimationFrame,setinterval和settimeout都不行
  • ¥15 根据以下文字信息,做EA模型图
  • ¥15 删除虚拟显示器驱动 删除所有 Xorg 配置文件 删除显示器缓存文件 重启系统 可是依旧无法退出虚拟显示器