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 json模块出现Invalid control character这个异常的原因
    KMS服务,使用命令激活windows/office
    vscode Python文件头部信息
    MIMIC-III Clinical Database 翻译
    autohotkey 设置
    DeepLearning 写代码常用
    VScode 个人设置
    随机种子设置
    samba配置
    jieba 分词不显示日志
  • 原文地址:https://www.cnblogs.com/wulei0630/p/9217128.html
Copyright © 2011-2022 走看看