Linux中bug的解决方法
发表于:2024-10-30 作者:千家信息网编辑
千家信息网最后更新 2024年10月30日,Linux中bug的解决方法,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。最近调试过程中遇到了一个问题,现象是在没有GPS信号的情况
千家信息网最后更新 2024年10月30日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安全错误
数据库的锁怎样保障安全
有没有招做网络安全工程的
服务器任务管理器命令
新制造技术数据库
数据库实用教程
dns服务器维护
网络安全和发现要
校园网络安全管理技术
数据库连接技术怎样做
如何将服务器和数据库连接
运营者申报网络安全审查
数据库查看表字节大小
网络技术研究院北邮
全国网络安全空间所以学校
巨杉数据库有没有开源
炫舞华北天地服务器维护
无线网络安全工程师报名
长丰品牌网络技术服务怎么样
国家加强网络安全监督
免费 文件下载服务器
比利时服务器优点
知识产权数据库建设
服务器集群 数据库
河北华为服务器产品
网络安全工程师 使用教程
服务器再次使用视频教程
数据库审计的作用是什么
字跳网络技术有限公司电话
企业服务器空间一般多大
网警网络安全宣传方案
国企网络安全网站