Linux中bug的解决方法
发表于:2025-12-03 作者:千家信息网编辑
千家信息网最后更新 2025年12月03日,Linux中bug的解决方法,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。最近调试过程中遇到了一个问题,现象是在没有GPS信号的情况
千家信息网最后更新 2025年12月03日Linux中bug的解决方法最近调试过程中遇到了一个问题,现象是在没有GPS信号的情况下,程序每次跑几分钟后就会出现以下错误提示信息,导致程序中断退出: Aborted (core dumped) 此问题折腾了我大概两小时,在此做个总结。 刚开始我检查代码,是否有double free 的地方,发现并没有。后来,我在代码里加了malloc是否成功的判断以及free后指针赋NULL的语句,依然是同样的问题。 再后来我把log打开看,看的过程中突然发现一个现象,就是每次程序挂掉时,串口读到的数据长度都是450字节,再仔细看,其实是读了两串数据,即两条GNRMC及其他语句。 buff len:450;$GNRMC,,V,,,,,,,,,,N*4D $GNVTG,,,,,,,,,N*2E $GNGGA,,,,,,0,00,99.99,,,,,,*56 $GNGSA,A,1,,,,,,,,,,,,,99.99,99.99,99.99*2E $GNGSA,A,1,,,,,,,,,,,,,99.99,99.99,99.99*2E $GPGSV,1,1,00*79 $GLGSV,1,1,00*65 $GNGLL,,,,,,V,N*7A $GNRMC,,V,,,,,,,,,,N*4D $GNVTG,,,,,,,,,N*2E $GNGGA,,,,,,0,00,99.99,,,,,,*56 $GNGSA,A,1,,,,,,,,,,,,,99.99,99.99,99.99*2E $GNGSA,A,1,,,,,,,,,,,,,99.99,99.99,99.99*2E $GPGSV,1,1,00*79 $GLGSV,1,1,00*65 $GNGLL,,,,,,V,N*7A double free or corruption (out) buff len:225;$GNRMC,,V,,,,,,,,,,N*4D $GNVTG,,,,,,,,,N*2E $GNGGA,,,,,,0,00,99.99,,,,,,*56 $GNGSA,A,1,,,,,,,,,,,,,99.99,99.99,99.99*2E $GNGSA,A,1,,,,,,,,,,,,,99.99,99.99,99.99*2E $GPGSV,1,1,00*79 $GLGSV,1,1,00*65 有了这个线索就好找问题了, 问题出在下面这个函数malloc分配空间时那个多加的数字100上, 这个100本意是用来将,,替换成,@,时用的,对于上面那种特殊状态,总共有114个连续,,,所以空间分配不足,导致出现问题。 解决方法也很简单,只要把100加大些就可以。 这个问题,带给我以下几点启发: 1)malloc分配空间时大小一定要注意; 2)测试时要覆盖各种可能的情况,不能只考虑正常状态,之前我就只测了有GPS信号时的状态;
Linux中bug的解决方法,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。
double free or corruption (out)
Aborted (core dumped)
正常情况下,读到都是如下信息,即只有一条GNRMC语句。
$GNGLL,,,,,,V,N*7A
int gps_analyse(char *buff,int buff_len,GNSS *gps_data)
{
……
char *tmpbuf;
tmpbuf = (char *)malloc(strlen(ptr)+100);
memset(tmpbuf, 0, strlen(ptr)+100);
memcpy(tmpbuf, ptr, strlen(ptr));
while (strstr(tmpbuf, ",,"))
strrpl(tmpbuf, ",,", ",@,");
……
3)测试时时间要足够长。
关于Linux中bug的解决方法问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注行业资讯频道了解更多相关知识。
问题
方法
情况
状态
程序
空间
语句
分配
代码
信号
信息
数据
更多
现象
过程
帮助
测试
解答
好找
易行
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
宽城区网络安全经验丰富
十三五金融网络安全建设要点
网络安全 成都
网络安全配置清单及价格
服务器CPU2021排行
电脑没有终端服务器管理工具
软件开发维护回复模板
服务器装完系统后键盘鼠标不识别
网页未连接上服务器是怎么回
无法被服务器鉴定
全国网络安全人才培养基地
杨浦区车载网络技术应用
铜川软件开发销售价格
殷承良网络安全
国家计算机二级网络技术
网络安全测试 信息泄露
嘀嗒软件开发票
数据库开发的知识
公司员工管理系统数据库的设计
刀片服务器网络模块
怀旧服五区服务器人数
t3出纳通挂结数据库表
数据库审计支持boypass
excel公式反算数据库
浙江正泰网络技术
z87主板能用服务器内存吗
网络安全法企业的安全责任
程序员做软件开发遇到瓶颈期
绿书签行动网络安全主题画
厦门翔安软件开发外包