未经处理的异常: 0xc0000374: 堆已损坏
问题描述
点击登陆按钮时,会创建一个登陆对象(该对象是一个登陆UI界面,包含一个db数据库连接和查询),关闭该登陆UI界面后,再次点击登陆,会出现一个异常:未经处理的异常: 0xc0000374: 堆已损坏。
解决:
这个操作等于一次性建立了两个数据库连接,并且连接的都是同一个数据库(不知道这样是否合法)。
把数据库连接设为静态变量,并在创建数据库连接之前检查是否已经创建该数据库,这样就能保证多个对象共享一个数据库连接(似乎用单件模式更好),问题解决。
其它类似问题
void Login::queryInDB()
{QSqlQuery query = QSqlQuery(DB);query->prepare("select * from account where username = :username");query->bindValue(":username", username);query->exec();while (query->next()){if (password == query->value("password").toString()){QMessageBox::information(this, "message", "welcome to you");this->close();}else{QMessageBox::warning(this, "error", "username or password is wrong!\nPlease input again");}}
}//此处出现 未经处理的异常: 0xc0000374: 堆已损坏
猜测原因:把QSqlQuery对象声明在栈上,空间不够?
在项目属性的qt project setting中,把SQL勾选上就没问题了。
哭死,还以为是局部变量声明在栈上的问题,结果是qt插件的问题。
我被这个问题搞了三天了,啊啊啊啊啊啊啊,我为什么要在vs上用qt啊啊啊啊啊
未经处理的异常: 0xc0000374: 堆已损坏相关推荐
- vs运行程序时报错:“XXX处有未经处理的异常: 0xC0000374: 堆已损坏”
使用vs运行程序时我们有时候会看到这样的一个错误:"XXX处有未经处理的异常: 0xC0000374: 堆已损坏".导致该错误产生的原因一般是是访问了未分配的地址,内存越界造成的, ...
- XXX处有未经处理的异常: 0xC0000374: 堆已损坏,处有未经处理的异常: 0xC0000005: 读取位置 0x4F774B16 时发生访问冲突。
XXX处有未经处理的异常: 0xC0000374: 堆已损坏,处有未经处理的异常: 0xC0000005: 读取位置 0x4F774B16 时发生访问冲突. ** 出现该问题的场景是其他公司调用我们的 ...
- 0xC0000374: 堆已损坏。 (参数: 0x777DB960)
VS2015 编译C++,Debug版运行没问题,Release时发现出现以下错误. 代码是从VS2012升级来的,在VS2012下编译Release版没有问题. 检查代码,问题出现在字符串复制的时候 ...
- 调用dll时出现“Unhandled exception 堆已损坏(heap corruption)“异常解决方法
转自:http://blog.sina.com.cn/s/blog_668aae780101iou9.html http://yaogangshi.iteye.com/blog/1001690 htt ...
- 程序出现异常尝试读取或写入受保护的内存这通常指示其他内存已损坏
"尝试读取或写入受保护的内存这通常指示其他内存已损坏". System.AccessViolationException: Attempted to read or write p ...
- 已解决 0x0000XXXX (ucrtbase.dll) (XXX.exe 中)处有未经处理的异常: 请求了严重的程序退出。
已解决!ucrtbase.dll, XXX.exe 中处有未经处理的异常: 请求了严重的程序退出. 问题描述 解决方法 问题描述 最近在编译IFC++工程,发现在运行的时候VS2019弹出了相关错误提 ...
- 【解决】该任务映像已损坏或已篡改。(异常来自HRESULT:0x80041321)
[解决]该任务映像已损坏或已篡改.(异常来自HRESULT:0x80041321) 参考文章: (1)[解决]该任务映像已损坏或已篡改.(异常来自HRESULT:0x80041321) (2)http ...
- C++ windows已在xxx.exe中触发一个断点,其原因可能是堆被损坏,这说明xx.exe中或它所加载的任何DLL中有bug。
windows已在xxx.exe中触发一个断点,其原因可能是堆被损坏,这说明xx.exe中或它所加载的任何DLL中有bug. 原因也可能是用户在xx.exe具有焦点时按下了F12. 输出窗口可能提 ...
- 可能是堆被损坏,这也说明 XX.exe 中或它所加载的任何 DLL 中有 bug
今天遇到一个很奇怪的问题, 当代码如下时: char* s = (char*)malloc(20*sizeof(char)); string buffer; const char* conchar; ...
最新文章
- Integer vs int
- Web页面中png jpg gif webp svg的区别和使用
- Jenkins 技术篇-jenkins的下载、安装与配置
- __init__函数
- 服务器系统server 2008,windows server 2008 R2 操作系统
- repo init 是啥意思
- 解决:error: (-215) size.width>0 size.height>0 in function cv::imshow
- 【电脑讲解】文件夹怎么设置密码
- Metasploit入侵win7系统
- linux 儒略日时间计算,儒略日(儒略日 在线计算器)
- python 中文乱码 \u5b66\u90a6\u5ba2\u6237
- 啥?以后找工作面试求职者的将不是人!那是啥?道翰天琼认知智能机器人平台API接口为您揭秘。
- 各种插画人物表情画法教程,绘制商业插画人物表情
- Linux与.Net Core(二) Centos系统安装和网络配置
- Html5禁止浏览器后退,多页面网站禁用浏览器后退键
- 制作gif工具GIF Movie Gear
- 课堂笔记| 第七章:多态
- win7系统怎样搭建电影服务器,用Win7系统来制作电影我们都能当导演
- 威力导演19安装说明以新功能
- python网络抓包工具_抓包工具 Charles 用法详解