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

  • 相关阅读:
    Python 初识爬虫-**机场出港业务
    Python 基础学习之字典
    Python 基础学习之if语句
    初识 超级账本
    搭建element-ui Vue结构
    回归
    Gin框架body参数获取
    log4go折腾
    go获取当前执行的位置程序
    mybatis generator 整合lombok
  • 原文地址:https://www.cnblogs.com/wulei0630/p/9217128.html
Copyright © 2011-2022 走看看