QT C++ 解决调试运行时报 The inferior stopped 错误
(1)报错信息和报错时调用堆栈
SignaI Received - Qt Creator
The inferior stopped because it received a signal from the operating system.
Signal name: SIGSEGV
Signal meaning:Segmentation fault报错时调用堆栈停留在 void MyTableView::setModel() 函数的该行:
报错时调用堆栈停留在 void MyTableView::setModel() 函数的该行:
// 设置共享选择模型
tableView->setSelectionModel(sharedSelectionModel); // 函数代码
void MyTableView::setModel(QStandardItemModel *model) {
tableView_model = model;
tableView->setModel(model);
listView_model = tableView_model; listView->setModel(listView_model);
iconView->setModel(listView_model); // 创建共享选择模型。创建时需要使用 model变量,所以必须放在这里
if (!sharedSelectionModel) { // 避免重复创建
sharedSelectionModel = new QItemSelectionModel(model, this);
} // 设置共享选择模型
tableView->setSelectionModel(sharedSelectionModel);
tableView->resizeColumnsToContents(); // 自动调整列宽
listView->setSelectionModel(sharedSelectionModel);
iconView->setSelectionModel(sharedSelectionModel);
}

(2)报错原因分析
原因是sharedSelectionModel变量非法,因为下面的判断导致sharedSelectionModel变量没有被正常创建。
因为sharedSelectionModel在 mytableview.h 定义为:
QItemSelectionModel *sharedSelectionModel;
在 MyTableView 构造函数中也未初始化。默认情况下,sharedSelectionModel 的值为随机数,if (!sharedSelectionModel) 判断时 sharedSelectionModel 为随机数并不为空,所以导致误判断 sharedSelectionModel 已经创建,导致sharedSelectionModel变量没有被正常创建。所以,下面的调用报 The inferior stopped 错误
// 创建共享选择模型。创建时需要使用 model变量,所以必须放在这里
if (!sharedSelectionModel) { // 避免重复创建
sharedSelectionModel = new QItemSelectionModel(model, this);
}
(3)解决办法。
清楚了报错原因,解决办法就很简单。在 MyTableView 构造函数中初始化 sharedSelectionModel 为 nullptr 即可解决。
MyTableView::MyTableView(QWidget *parent)
: QWidget(parent),
...
lastMouseEvent(nullptr),
...
QT C++ 解决调试运行时报 The inferior stopped 错误的更多相关文章
- 解决VirtualBox 运行时报内存不能written
在VirtualBox 虚拟机中安装系统的时候,突然报"0x00000000指令,该内存不能written",只能强制停止,这个问题要怎么解决呢? 解决办法是恢复系统主题3个dll ...
- (已解决)Xcode 运行cocos2dx弹出内部错误对话框(Internal Error)
cocos2dx未捕获的异常升高.选择“继续”继续运行在一个不一致的状态.选择“崩溃”停止应用和崩溃报告一个错误文件. 莫名其妙,代码没有报错,运行时却弹出(内部错误)对话框出来: 再看看崩溃的底层代 ...
- 双心一键获取winsxs的写入权限,解决VC运行库安装error1935错误
@Echo offtitle 双心一键获取winsxs的写入权限,解决VC运行库安装error1935等错误set path=%path%;%~dp0setlocal EnableDelayedExp ...
- 解决ThinkPHP关闭调试模式时报错的问题汇总
解决ThinkPHP关闭调试模式时报错的问题汇总 案例一: 最近用ThinkPHP开发一个项目,本地开发测试完成上传到服务器后,第一次打开正常,再刷新页面时就出现 "页面调试错误,无法找开页 ...
- 解决cocos2dx在Xcode中运行时报:convert: iCCP: known incorrect sRGB profile 的问题
解决cocos2dx在Xcode中运行时报:convert: iCCP: known incorrect sRGB profile 的问题 本文的实践来源是参照了两个帖子完成的: http://dis ...
- 解决BeautifulSoup库运行时报错问题
解决BeautifulSoup库运行时报错问题 运行BeautifulSoup库时可能出现下面的错误,具体错误消息为:To get rid of this warning, change this: ...
- Ubuntu16.04下写的Qt程序,调试时没问题,运行时偶现崩溃 (需要在运行时生成core dump文件,QMAKE_CC += -g)
记录一下 Ubuntu16.04下写的Qt程序,调试时没问题,运行时偶现崩溃 需要在运行时生成core dump文件 首先在pro结尾里加入 QMAKE_CC += -g QMAKE_CXX += - ...
- 解决 free(): invalid pointer: 0x00000000019ff700 运行时报错(caffe)(libtool使用)
编译成功,运行时报错: 在使用 pytorch or tensorflow or caffe 时,都可能存在这个问题: *** Error in `xxx': free(): invalid poin ...
- 解决Android Studio运行时报Error:java.lang.NullPointerException (no error message)错误
原文:解决Android Studio运行时报Error:java.lang.NullPointerException (no error message)错误 ...
- qt 旧项目编译运行提示 “启动程序失败,路径或者权限错误?” 原因及解决方法
qt 旧项目编译运行提示 "启动程序失败,路径或者权限错误?" 原因及解决方法 原因 Qt Creator在打开项目文件的同时会生成.pro.user文件,.pro.user文件叫 ...
随机推荐
- Codigger浏览器:Spitfire的功能特点解析
在数字化生活中,浏览器已成为日常工作与生活的基础工具.对于注重效率与安全的用户而言,一款适配需求的浏览器能显著提升使用体验.Spitfire浏览器作为CodiggerDesktop操作系统的官方定制工 ...
- ETL工具怎么实现多流SQL实时运算?
多流SQL实时运算的特点和应用场景 多流SQL实时运算是一种先进的数据处理技术,它在大数据处理领域中扮演着至关重要的角色,尤其是在需要对多个数据流进行实时分析和处理的应用场景中.该技术结合了SQL(结 ...
- USB.org + USB 3.0 Type-C + PD(Power Delivery)240W
www.usb.org: USB.org Document Library USB Charger (USB Power Delivery) | USB-IF Type-C USB Type-C Ca ...
- Rust:axum学习笔记(6) SSE(Server Send Event)服务端推送
接上一篇继续,SSE也就是服务端推送技术,自html5推出以来基本上各大浏览器都已支持,axum自然也支持,参考下面的代码: async fn sse_handler( TypedHeader(use ...
- ARC184 随便写点
最逆天的一集. ARC184 A 题目解析 关键观察:注意到 \(m\) 很小,只有 \(10\),并且 \(q = 950\).考虑有什么性质. 我们发现 \(m\) 很小,我们考虑挖掘性质. 有一 ...
- [字符串算法]Manacher
1.前置知识 回文子串 回文的子串 最长回文子串 字符串中最长的回文子串 回文半径 设以\(i\)为中心的最大回文子串的长度为\(n\),则这个字符串第\(i\)位的回文半径为\((n+1)/2 ...
- 东方通 TongWeb安装(安装截图懒得放了)
东方通tongweb linux安装 第一步.把安装的bin文件和license.dat文件上传到/home/tongweb(此目录自建)目录下. 第二步.运行sh Install_TW7.0.4.2 ...
- 现代永磁同步电机FOC控制技术指南
<现代永磁同步电机FOC控制技术权威指南:从PID.系统辨识到LQR/MPC> 前言 在机器人.新能源汽车.高端数控机床和无人机技术飞速发展的今天,永磁同步电机(PMSM)凭借其高效率.高 ...
- [题解]P9755 [CSP-S 2023] 种树
P9755 [CSP-S 2023] 种树 迟来的补题 本题是让最小化所有树长到指定高度日期的最大值,于是想到二分答案. 那么,对于一个给定的期限\(x\),如何判断是否能在这个日期内完成任务呢? 首 ...
- 2025杭电多校第十场 Cut Check Bit、Multiple and Factor 个人题解
Multiple and Factor 根号分治 #数学 题目 思路 本题采用根号分治的思想,令\(B=\sqrt{ n }\),将下标分为\(1\leq i\leq B\)与\(B<i\leq ...