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

Binutils工具集常用工具的更多相关文章

  1. Playmaker全面实践教程之Playmaker常用工具

    Playmaker全面实践教程之Playmaker常用工具 Playmaker常用工具 Playmaker插件搭载了8个工具:FSM Browser.State Browser.Templates.T ...

  2. binutils工具集之---addr2line

    addr2line用于得到程序指令地址所对应的函数,以及函数所在的源文件名和行号. 在不少嵌入式开发环境中,编译器的名称往往不是gcc,而是想arm-rtems-gcc这样的,对于这种命名形式的编译器 ...

  3. 给c++程序员的一份礼物——常用工具集

    给c++程序员的一份礼物——常用工具集 [声明]如需复制.传播,请附上本声明,谢谢.原文出处:http://morningspace.51.net/,moyingzz@etang.com 所谓&quo ...

  4. C# 常用工具合集

    Visual Studio 2013 扩展 Visual Studio 2013 Update 4:是目前微软发布的最新版开发工具升级包,高效而且强大.下面的扩展都是该版本的Visual Studio ...

  5. 如何正确的使用Ubuntu以及安装常用的渗透工具集.

    文章来源i春秋 入坑Ubuntu半年多了  记得一开始学的时候基本一星期重装三四次=-= 尴尬了 觉得自己差不多可以的时候 就吧Windows10干掉了 c盘装Ubuntu 专心学习.   这里主要来 ...

  6. Java程序员常用工具集

    我发现很多人没办法高效地解决问题的关键原因是不熟悉工具,不熟悉工具也还罢了,甚至还不知道怎么去找工具,这个问题就大条了.我想列下我能想到的一个Java程序员会用到的常用工具. 一.编码工具 1.IDE ...

  7. Linux系统常用工具集

    整理Linux系统下一些日常工作中常用工具,旨在提高效率: 1.截图软件Shutter 2.通讯聊天工具pidgin 3.守护进程工具daemontools 4.远程桌面服务TigerVNC 5.Ma ...

  8. Java常用工具+类库合集

    1 常用工具 JVisual vm:可以直接通过软件包下载,支持本地以及远程JVM监控 JMH:Java Microbenchmark Harness,测试基准组件,精度可达纳秒级 JITWatch: ...

  9. Open Source 开发工具集

    Open Source 开发工具集 转自:http://www.linuxforum.net原作者:gogoliu(Pooh-Bah) 编辑器: vi:老牌编辑器,在各个unix和unix-like平 ...

随机推荐

  1. codeforces 1064D 双端队列BFS

    双端队列BFS解决的就是路径权值可能为0的图最短路问题,权值为0插入队头,否则插入队尾. 对于这个题,可以看作上下移动的路径的权值为0,左右移动权值为1,而且不能超过规定的步数. 直接广搜求覆盖的点的 ...

  2. 02 mybatis环境搭建 【spring + mybatis】

    1 导包 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.o ...

  3. 杭电acm 1108题

    这是一道求两个整数最大公倍数的问题,题目比较简单.... 直接使用穷举法计算,数据不是很大.... #include "iostream" using namespace std; ...

  4. acrord32 pdf自动化

    这个东西就是帮助用户自动化处理pdf的 . 可以看作是adobe reader的命令行

  5. C语言-郝斌笔记-007是否为素数

    是否为素数 # include <stdio.h> bool IsPrime(int val) { int i; ; i<val; ++i) { ) break; } if (i = ...

  6. p4570 [BJWC2011]元素

    传送门 分析 对法力值从大到小排序然后对编号跑线性基即可 代码 #include<iostream> #include<cstdio> #include<cstring& ...

  7. win7搭建TensorFlow环境

    官网安装指南地址:https://www.tensorflow.org/install/pip 安装过程碰到的问题: 1.创建虚拟环境 virtualenv --system-site-package ...

  8. C#中virtual和abstract区别,举例子

    virtual和abstract都是用来修饰父类的,通过覆盖父类的定义,让子类重新定义. 它们有一个共同点:如果用来修饰方法,前面必须添加public,要不然就会出现编译错误:虚拟方法或抽象方法是不能 ...

  9. 【Arcgis for android】程序运行出错原因分析及解决(超详细)

    查看项目下是否有libs文件夹,正常情况下其中应该有 如果没有,在项目上右键 ->arcgis tools->convert to arcgis android project 排除了上述 ...

  10. Java开发环境的搭建-JDK的安装

    一.下载 JDK是个免费的东东,所以不要去百度啥破解版了,直接去官网下载最新版本吧,比较安全, 下载地址 如下图所示 - 点击上图中的圈中部分,之后会下图的部分. 根据你的电脑系统是64位,还是32位 ...