程序报错误Illegal instruction的解决办法
问题:
目标板是rt5350,使用mipsel-linux-gcc 3.4.2编译器,源程序由C++转换到C语言。
程序中有3个线程:主线程、接受消息队列的线程和上传采集数据的线程;
当把上传采集数据的线程启动时,程序运行给出Illegal instruction的错误提示并退出;
而屏蔽掉启动上传采集数据线程后,程序能正常运行,所有与上传采集数据无关的功能都是正常的;
解决办法:
1. 网上搜了一圈,出现该问题的主要原因包括:
(1). 内核编译的时候没有选中EABI选项;
(2). 目标板中缺少对应的动态连接库;
(3). 编译程序时没有使用静态连接方式,该条实际与(2)是相同的;
2. 可惜,上述原因对于本人这边的问题都没有借鉴意义。
后来反复比对接受消息队列程序msgrcv_cmd.c和上传采集数据程序sensor_reader.c,突然发现,sensor_reader.c的构造函数中没有将结构体中的所有函数指针初始化,只初始化了部分函数。而启动sensor_reader线程的函数恰恰没有被初始化,这应该就是问题的根源了。如果函数指针没有初始化,该函数指针就是野指针,当调用该函数的时候,结果往往是灾难性的。
将结构体SensorReader中的函数指针都用对应的实现函数初始化,再次编译程序,下载到目标板中,程序终于可以在使能上传采集数据线程后正常运行了。
问题解决。
程序报错误Illegal instruction的解决办法相关推荐
- VMware6.5 应用程序配制错误14001未能启动 解决办法
昨天把 VMware的一个老版本换掉了..想安装个 VMware6.5 ,安装一切顺利 运行时候出现 "发生系统错误:14001.由于应用程序配置不正确,应用程序未能启动--" ...
- Python运行 import cv2 等报错 Illegal instruction (core dumped) 解决办法
import cv2 报错 Illegal instruction (core dumped) nanopc-T4 开发板上安装好 opencv 后,import cv2 时 会报错 Illegal ...
- 故障分析 | MongoDB 5.0 报错 Illegal instruction 解决
作者:任仲禹 爱可生 DBA 团队成员,擅长故障分析和性能优化,文章相关技术问题,欢迎大家一起讨论. 本文来源:原创投稿 *爱可生开源社区出品,原创内容未经授权不得随意使用,转载请联系小编并注明来源. ...
- jetson nano 报错Illegal instruction(core dumped)
jetson nano 报错Illegal instruction(core dumped) 问题描述:好不容易对jetson nano开发板更换好镜像源.配置好远程xrdp桌面(可以参考我往期博文) ...
- oracle 6508,【案例】Oracle报错ORA-06552 ORA-06553 ORA-006508解决办法
天萃荷净 Oracle研究中心案例分析:运维DBA反映Oracle数据库alert日志中出现大量ORA-06552 ORA-06553 ORA-006508报错,分析原因为存储过程异常导致,结合MOS ...
- java 报错404_Javaweb工程运行报错HTTP Status 404解决办法
最近在学习jsp和servlet,避免不了的要和tomcat打交道,但tomcat经常会出现各式各样的错误,下面是我总结的一些常见的解决方法,希望对大家有用. 1.未部署web应用 2.url输入错误 ...
- 【转】error while loading shared libraries: xxx.so.x 错误的原因和解决办法
原博客地址:http://www.cnblogs.com/Anker/p/3209876.html#undefined error while loading shared libraries: xx ...
- 解决小程序插槽slot内容显示不对,无论是原生小程序还是uniapp开发的,解决办法如下
原文地址:解决小程序插槽slot内容显示不对,无论是原生小程序还是uniapp开发的,解决办法如下!在一次使用小程序插槽的时候,发现如论在哪里使用插槽,内容在子组件上展示和根目录同级,这其实是pc端微 ...
- WPF发布程序后未授予信任的解决办法
WPF发布程序后未授予信任的解决办法 基于浏览器的WPF应用程序由于需要比较高的操作权限,所以在项目的安全性属性中选择了"这是完全可信的应用程序"选项.可是,在发布部署后,在其他电 ...
最新文章
- Unity初学Shadergraph创建着色器学习教程
- linux存储实用程序,技术|使用 Linux 实用程序 gPhoto2 备份手机存储
- oracle没有groupby,oraclegroupby之后还可以groupby么
- 奋斗的小蜗牛+竹青遍野 同类题
- Android-NDK-hello-jniCallback
- oracle ref游标用法,[置顶] Oracle 参照游标(SYS_REFCURSOR)使用
- git add * 提示warning: LF will be replaced by CRLF in 解决办法
- 本地tomcat启动war包_「shell脚本」懒人运维之自动升级tomcat应用(war包)
- VMware vCenter Server6.5升级至6.7
- SQL Sever 常用语句总结
- linux下 fork(),vfork(),clone()的用法及区别
- 802.11n 重新扬帆
- Dagger2和MVParms的学习
- 自顶向下(top down)简介
- 区块链专利全球第一竟是它?
- POJ 3709 K-Anonymous Sequence 斜率DP
- 『深度应用』首届中国心电智能大赛复赛开源(第三十一名,得分0.841484)
- mac safari无法打开网页_苹果手机浏览器打不开网页怎么办?Safari无法打开网页的解决方法...
- 关于将微博上视频保存在电脑本地的方法汇总
- Mysql的timestamp(时间戳)详解以及2038问题的解决方案