Qt 出现“程序异常结束”问题可能的解决思路

第三方库的编译有问题。

请注意,出现此种问题绝不止这一个原因,还包括其它很多原因,这些原因可能千奇百怪,需要你的开发经验去积累去发掘。在这里,根据我自己的经验,总结几种可能产生“the process was ended forcefully”错误的思路。

可能程序中存在对象只声明,未创建就使用的情况。

例如,程序中只声明了一个对象QObject * object,未进行object = new QObject就直接使用object。这样,程序编译构建是可能没有问题,但是一旦运行就会崩溃。

对于有界面的程序,可能ui未创建之前就对其中的对象进行操作。例如下面的例子,在MainWindow构造函数中,先进行了页面初始化,再创建ui类,这也会导致程序崩溃。正确的应该是,先创建ui类,再对页面对象操作及信号绑定。

注:ui页面内嵌 Qt QTableWidget 表格,表格中的 单元格需要初始化,否则,出现异常退出,可能是这个原因吧?

可能程序所需的dll库缺失。

这种情况一般是缺失系统自带的库,对于第三方库文件,因为项目中会调用接口,若缺失,在项目编译的过程中就会报错。 可能程序所用的第三方库dll编译有问题,访问存在异常。这也是我项目中遇到的问题,针对这种问题,要灵活地对代码进行调试,可以注释库的访问接口,来看程序是否可正常启动。

Qt开发:  捕获系统异常,产生dmp文件

项目 *.pro里添加:

LIBS +=-lDbugHelp

Qt下使用DbgHelp和SetUnhandledExceptionFilter来获取Crash log/dump文件

https://blog.csdn.net/dgj8300/article/details/78450755

参考:

Qt Creator中编译运行Qt项目时报“程序异常结束”错误的解决思路

https://zhuanlan.zhihu.com/p/353320725

记一次解决Qt程序异常退出问题: 丢失动态库

https://blog.csdn.net/weixin_42303052/article/details/93644758

Qt(windows下)捕获异常信息并自动重启: 弄个错误捕获,然后自动重启了。

https://blog.csdn.net/joyopirate/article/details/109772420

  • 2
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值