您当前的位置:首页 > 计算机 > 软件应用 > 开发(IDE)

Qt creator开发的C++应用程序运行崩溃,异常代码0xc0000409,错误偏移量0x0009efbb解决

时间:02-28来源:作者:点击数:

Qt creator开发的C++应用程序运行崩溃,异常代码0xc0000409,错误偏移量0x0009efbb解决。

前言

最近在Qt上开发的C++程序每次长时间运行就崩溃了,测试了好几轮都是,后来终于解决,特地记录下。

解决

通过Windows日志,找到应用程序的日志,找到我的程序崩溃的日志,如下截图:

在这里插入图片描述

然后查看异常代码0xc0000409,网上有挺多的关于这个问题解决,各种中中木马病毒的,实际对我都没有用,因为这个程序是我自己开发的。

0xc0000409这个异常是堆栈溢出导致的,看到网上一个帖子,说是通过__stdcall解决了,但是对我没有作用。

通过任务管理器查看程序打开后,运行一段时间占据的内存在不断增加,于是检查了程序中开辟的内存,并没有频繁的开辟内存,该销毁的也都销毁了。最后发现是因为我调用了系统的一个接口,那个接口中有开辟内存,我也有调用unlock和release销毁,但是销毁后又用了那个接口中的buffer,查看了下官网API,在调用unlock后,接口中的buffer已经不合法了,但我还一直在使用,结果导致程序运行时间长后直接内存泄漏,直接崩溃。缠绕了几周的问题终于解决了,还是因为自己太大意了。

所以以后对于堆栈溢出这种问题,先检查内存分配和释放的问题,保证正确的使用内存,问题应该就不大了。

方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门