zoukankan      html  css  js  c++  java
  • Binutils工具集常用工具

    GNU为GCC编译器提供了配套的辅助工具集(Binutils)http://www.gnu.org/software/binutils/

    1. addr2line

    ①将指定地址转换为对应的文件名和行号

    ②常用于分析和定位内存访问错误的问题

    ③示例:定位0地址访问问题

      *开启core dump选项:ulimit -c unlimited(关闭:ulimit -c 0 查看是否开启:ulimit -c

      *运行程序,并生成崩溃时的core文件

      *读取core文件,获取IP寄存器的值:dmesg core

      *使用addr2line定位代码行:addr2line 0x08048000 -f -e test.out

    2. strip

    ①剔除程序文件中的调试信息,减小目标程序的大小

    strip test.out

    3. ar

    ①打包目标文件: ar crs libname.a x.o y.o

    ②解压目标文件: ar x libname.a

    4. nm

    ①列出目标文件中的标识符(变量名,函数名)

    ②输出结果由三部分组成:{地址,段,标识符}

    5. objdump

    ①反汇编目标文件,查看汇编到源码的映射:objdump -D -S test.out

    ②查看目标文件中的详细信息:objdump -h test.out

    6. readelf

    ①查看目标文件所依赖的动态库: readelf -d Test

  • 相关阅读:
    watch 一些实际用法(vue)
    如何动态渲染多个echart图表小结(vue)
    webstorm 合并代码冲突后如何唤起代码合并弹窗方案
    jQuery Mobile
    响应式布局
    Angularjs
    项目经理PPT演讲意见
    创业者自己摸索总结的12条建议
    关于网站建设
    调研方案如何炼成?
  • 原文地址:https://www.cnblogs.com/wulei0630/p/9217128.html
Copyright © 2011-2022 走看看