0xC0000374:堆已损坏 错误的解决

最近一个项目服务端程序,vs2013 c++ x64开发,调用了mysql库,自己的电脑上运行很顺畅稳定,在同事的测试机上运行起来后,客户端连接后就不明原因、没有报任何错误的中断、重启,进入调试模式后,出现以下提示:

由于该服务端程序能够运行起来并等待客户端连接,所以排除缺库的情况,遂逐句排查,发现是在调用了函数mysql_free_result 后进入了崩溃,在网上查了mysql_free_result的使用,有篇文章《mysql_free_result 如何优雅的执行》对我启发很大,文章地址:https://blog.csdn.net/sun_ashe/article/details/82191203 。

按照文章所说,mysql_free_result操作稍有不慎,就会造成内存问题,要不是泄漏,要不就是非法访问。在执行mysql_store_res之后,如果进行两次free,就会引起错误,程序中正是由于主程序执行了mysql_store_res后,调用的函数中又执行mysql_store_res并free,返回后主程序又free,---崩溃。正确匹配store-free后,错误再没有出现。

但是还有个问题:为什么我的电脑没有报错呢?

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值