当前位置: 首页 > news >正文

可执行程序运行“bus error“问题解决之库依赖

文章目录

    • 1. 背景
    • 2. `bus error` 错误
    • 3. 如何分析
    • 4. 举例

1. 背景

我们很多时候,在运行一个第三方的程序的时候,出现一个bus error问题,然后就卡住了,不能再进行下一步操作。本文个人自身经历出发, 讲解其中一种情况。

2.bus error错误

  • Bus error(总线错误)是 Unix/Linux 系统中一种严重的运行时错误,通常由 硬件无法处理的非法内存访问 引起。它与 Segmentation fault(段错误)类似,但原因更底层,往往涉及内存对齐、硬件限制或物理地址问题。

  • Bus error 的核心是:CPU 能“看到”这块内存,但拒绝以你的方式访问它。

    • 最常见于 未对齐访问 和 mmap 越界,尤其在 ARM 架构设备(如树莓派、手机、嵌入式系统)上高频出现。

3. 如何分析

  • 看情况,如果程序还没运行,就报这个错误,比如main里面最前面的日志都没有打印;运行到某个阶段后报这个错误;

    • 刚开始就报错,大概率是程序寻找相关依赖库的时候,依赖库不对,导致程序进入了异常地址;
    • 运行中报错,运行中某个资源/内存不可访问;
  • 解决方式:

    • 使用ldd指令查看可执行程序的依赖,是不是都可以寻找到,如果找不到,就是库缺失问题,如果都显示不出来,就是错误的库,导致查看异常;
    • 在依赖库可以找到的情况下,在核对一下依赖库是不是都正确;
    • 使用gdb进行动态调试,看看具体问题;

4. 举例

  1. 查看库依赖,都直接bus error; -->肯定依赖库存在问题,导致内存解析异常
  2. 删除可能的依赖库;–>可以看到依赖关系,就是这个依赖库异常;
  3. 重新替换库后,显示正常;
  4. 再次运行可执行程序,正常;
http://www.cnnetsun.cn/news/10235.html

相关文章:

  • 在Linux中如何查看内存使用情况?
  • CompletableFuture的5大坑!
  • **主题:** “医疗PINN漏物理约束,器官运动预测全错,补动力学方程才稳住”
  • KMPlayer播放器中文版下载安装保姆级教程(附电脑安装包,非常详细)
  • 【量子电路可视化终极指南】:手把手教你用VSCode打造高效开发环境
  • Skyhigh Security升级数据安全态势管理(DSPM)能力,助力企业满足《数字个人数据保护法》(DPDPA)合规要求,强化亚太地区数据保护
  • Wan2.2-T2V-A14B与Stable Video Diffusion对比:谁更适合商用?
  • 如何用AU处理音乐详细的元数据Metadata-程序员·原创音乐人·卓伊凡
  • MobaXterm高效运维
  • 百度ERNIE-4.5-VL-28B-A3B-Base震撼发布:多模态大模型基座开启智能新纪元
  • Wan2.2-T2V-A14B + 高性能GPU:构建专属AI视频工厂
  • 3分钟掌握B站视频下载:哔哩下载姬终极使用指南
  • BetterGI:原神AI自动化辅助工具终极指南
  • MoE架构加持的Wan2.2-T2V-A14B,如何提升动态细节表现力?
  • MySQL表的约束
  • IP地址分类管理
  • Windows右键菜单大扫除:从杂乱无章到高效简洁的完整改造方案
  • 如何为个人网站选择一个高性价比域名?
  • Adobe官方卸载工具下载安装保姆级教程(附下载地址,非常详细)
  • shell笔记
  • 多头和q,kv的区别
  • 为什么加上位置编码后 patch 会有空间信息 需要解释一下
  • 基于Springboot船舶监造管理系统【附源码+文档】
  • 从原型到产品:融合算子的单元测试、集成测试与持续集成
  • Servlet原理Mapping问题ServletContext对象
  • 军事图像分类检测数据集介绍-351张图片 军事身份识别 安全检查辅助 智能监控系统 军事训练分析 历史军事影像分析
  • 人机环境系统智能是新理科与新文科的融点
  • 【字节开源Golang框架Eino】技术详解:架构原理+实战落地+避坑指南(附代码)
  • UE5 材质-22:
  • WebRTC 中的临界锁实现:从 CritScope 到 RAII 机制的深度解析