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

嵌入式ARM程序高级调试技能:20.qemu arm ARM Linux 上 addr2line 的实际应用示例

嵌入式ARM程序高级调试技能:20.qemu arm ARM Linux 上 addr2line 的实际应用示例

以下是在 ARM Linux 平台上使用 addr2line 的实际案例,涵盖常见调试场景:


1. 分析程序崩溃地址

场景:

ARM 设备上程序崩溃,日志显示:

Segmentation fault
[ 123.456] [<80123456>] (my_function+0x1c/0x28)

步骤:

  1. 提取地址80123456

  2. 计算偏移(如果地址是绝对地址):

    # 查看程序加载基地址
    cat /proc/$(pidof myapp)/maps | head -1
    # 输出:80000000-80010000 r-xp 00000000 00:0a 1234 /usr/bin/myapp# 计算相对偏移
    echo "ibase=16; 80123456 - 80000000" | bc
    # 输出:123456 (十六进制 0x123456)
    
  3. 使用 addr2line

    # 在
http://www.xdnf.cn/news/1408699.html

相关文章:

  • 【重学MySQL】九十五、Linux 下 MySQL 大小写规则设置详解
  • CF每日3题(1500-1600)
  • 阿里云创建自己的博客,部署wordpress
  • 基于Matlab元胞自动机的强场电离过程模拟与ADK模型分析
  • Scikit-learn Python机器学习 - 数据集的划分
  • 网格图--Day03--网格图DFS--2658. 网格图中鱼的最大数目,1034. 边界着色,1020. 飞地的数量
  • Cartographer中的gflag与lua文件
  • 【开题答辩全过程】以 基于Java的城市公交查询系统设计与实现为例,包含答辩的问题和答案
  • 记录测试环境hertzbeat压测cpu高,oom问题排查。jvm,mat,visulavm
  • 浏览器和 node 操作文件的 api 以及区别
  • GEE 实战:Landsat 5 月度 NDVI 数据插值填补(以 8 月为例)_后附完整代码
  • Python:如何批量下载CLMS NDVI V3数据集?
  • PyQt5 K线图实现与性能优化详解
  • 神州数码之FTP/TFTP 升级 篇
  • 深入解析Linux系统中的/etc/hosts文件
  • 在Windows的wsl中如何以root登录Ubuntu
  • OpenStack 02:使用 DevStack 单节点一体化部署
  • Kafka面试精讲 Day 3:Producer生产者原理与配置
  • Java提供高效后端支撑,Vue呈现直观交互界面,共同打造的MES管理系统,含完整可运行源码,实现生产计划、执行、追溯一站式管理,提升制造执行效率
  • isp图像处理--bayer Binning
  • isp 图像处理--DPC坏点矫正
  • 张柏芝亮相林家谦演唱会 再次演绎《任何天气》
  • 秋招笔记-8.31
  • 【ACP】2025-最新-疑难题解析- 练习一汇总
  • 矩阵待办ios app Tech Support
  • 【机器学习】-torch相关知识01
  • IO_hw_8.29
  • 8.31【A】scons,带宽,语义semantic,读论文颜色规范,系统运行命令
  • 在Ubuntu系统上安装和配置JMeter和Ant进行性能测试
  • 【数学史冷知识】关于行列式的发展史