Linux下dump的使用

1  Core文件的生成... 1

2  定位出错的地方... 2

Linux下的dump文件一般称为core文件 ,可以用来记录程序崩溃前的线程callstack信息,内存信息等,可以作为排错的一种辅助手段。生存的core大小可以限制,保存的内容也可以灵活的选择,因此在MID上也可以使用。

由于linux的开发性,类似的调试技术比windows上的更为强大,灵活。

1  Core文件的生成

输入 ulimit  –a

Mid上的输出信息

time(seconds)        unlimited

file(blocks)         unlimited

data(kbytes)         unlimited

stack(kbytes)        8192

coredump(blocks)     0

memory(kbytes)       unlimited

locked memory(kbytes) 32

process              1024

nofiles              1024

vmemory(kbytes)      unlimited

locks                unlimited

注意

coredump(blocks)     0

指定了core 文件的大小为0 block

现在修改这个限制,设置成1024个block,如果超过这个值就不再写core文件

Ulimit  -c  1024

现在用一个测试程序进行验证

[code ]

#include <stdio.h>

int just_a_test()

{

int * p = NULL;

printf("%d /n",*p);

}

int main()

{

just_a_test();

}

[/code]

在scatchbox 中编译

Gcc –Wall  -g  hello.c

将生成的a.out 放入mid中,

加上可执行权限

Chmod +x a.out

执行 ,在同级目录下生成了一个core文件

2  定位出错的地方

将core 文件考到编译主机上,在host 上分析该core文件 。

接下来一个很重要的步骤就是编译自己的gdb

在gnu 上下载源码 ,共享中也有

//10.111.0.1/File Exchange Area/zhangwei/gdb/ gdb-7.2.tar.gz

解压后进入gdb目录

配置编译参数

Host 默认在x86上,target 则为arm

./configure --target=arm-linux --enable-shared --prefix=/home/shenghuai/3G-Works/3G-Encoder/src/ampleksy/gdb/gdb-7.2 --without-x --disable-gdbtk --disable-tui --without-included-regex --without-included-gettext

Make

Make install

将生成的arm-linux-gdb 加入到path路径中来

运行 arm-linux-gdb 用--core 指定core文件

henghuai@shenghuai-3G:~/3G-Works/3G-Encoder/src/amplesky/gdb$ arm-linux-gdb --core=core

GNU gdb (GDB) 7.2

Copyright (C) 2010 Free Software Foundation, Inc.

License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>

This is free software: you are free to change and redistribute it.

There is NO WARRANTY, to the extent permitted by law.  Type "show copying"

and "show warranty" for details.

This GDB was configured as "--host=i686-pc-linux-gnu --target=arm-linux".

For bug reporting instructions, please see:

<http://www.gnu.org/software/gdb/bugs/>.

[New Thread 1491]

Core was generated by `./a.out'.

Program terminated with signal 11, Segmentation fault.

#0  0x000083a0 in ?? ()

接下来指定可执行文件(含调试信息)

(gdb) file ./a.out

Reading symbols from /scratchbox/users/shenghuai/home/shenghuai/marvell-sdk/pxalinux/3G-encoder/src/amplesky/gdb/a.out...done.

(gdb) bt

#0  0x000083a0 in just_a_test () at hello.c:7

#1  0x000083c4 in main () at hello.c:14

很清晰的列出了出错的callstack 。

linux 下dump的使用相关推荐

  1. linux下dump命令,Linux dump命令

    # Linux dump命令 [![Linux 命令大全](/images/1590082124592.gif "Linux 命令大全") Linux 命令大全](/queryGr ...

  2. linux 下dump文件放在那里,怎么查看dump文件目录

    转载自:http://zhidao.baidu.com/link?url=-ycN_irmu_J1dlRWG_06DhvIWSasIEDqDWgNYgjZSwY-LU3KQyXjWom5LzQeYnF ...

  3. Linux下程序崩溃dump时的 core文件的使用方法

    Linux下程序崩溃dump时的 core文件的使用方法 1.在启动程序前执行 ulimit -c unlimited unlimited 表示生成文件的大小限制,也可以修改为自定义的大小,例如: u ...

  4. 什么是core dump linux下用core和gdb查询出现段错误的地方

    什么是core dump   linux下用core和gdb查询出现"段错误"的地方 http://blog.chinaunix.net/uid-26833883-id-31932 ...

  5. Linux下如何生成core dump 文件(解决segment fault段错误的问题)

    Linux下如何生成core dump 文件(解决segment fault段错误的问题) 参考文章: (1)Linux下如何生成core dump 文件(解决segment fault段错误的问题) ...

  6. linux下调试core dump方式汇总,工作必备技能

    缘起 调试,是开发流程中一个非常重要的环节.每个程序员都应,具备调试代码的能力,尤其对于从事 Linux 下的开发的读者. 从事 linux 下后台开发,有时候会遇到程序突然崩溃的情况,也没有任何日志 ...

  7. tomcat linux dump,Linux下Tomcat常用命令与配置

    最近经常用到的Linux下的命令 重启tomcat ps x 查看pid kill -9 pid 杀死进程 /app/tomcat/bin/startup.sh 启动tomcat 追踪日志 tail ...

  8. linux core 永久生效,【调试】Core Dump是什么?Linux下如何正确永久开启?

    内容简介 [调试]Core Dump是什么?Linux下如何正确永久开启? Core Dump是什么?Linux下如何正确永久开启? Core Dump是什么? Core Dump乍听之下很抽象. 当 ...

  9. Linux 下的Core Dump

    相信大家都有过在linux 下变成出现core dump或者Segment fault的情况,有的时候这种崩溃情况不一定每次都出现,复现有一定的难度,那样我们可以查看的就只有coredump文件了. ...

最新文章

  1. Win8 Metro(C#)数字图像处理--2.52图像K均值聚类
  2. C++友元函数和友元类(C++ friend)详解
  3. Docker入门-安装
  4. Subversion服务器搭建 (安装步骤)
  5. Unity协程(Coroutine)原理深入剖析
  6. 谷歌安装FeHelper插件
  7. 境外显示手机无服务器,手机卡在国外无服务怎么办
  8. EXCEL表格中数字金额很大时后面零很多,如何设置直接以万元为单位显示,不显示后面的零
  9. 2022年Google I/O 大会即将举行,可领取 2022 年 I/O 大会参会开发者资料徽章。
  10. java配置dsf,基于Spring-DM实现分布式服务框架(DSF)(二)
  11. 76、多边形一些基本操作(自相交、尖刺、保证逆时针、求交)
  12. 全链通“铭镜”农产品溯源平台介绍分析
  13. Beaver's Calculator(蓝桥杯 算法训练)sort排序
  14. “没用”的StringBuffer,StringBuffer被StringBuilder取代的原因
  15. AMiner论文推荐
  16. GitExtensions 设置
  17. 【ONV】6 口百兆 AI PoE 供电交换机简介
  18. Flutter 开关和切换高级指南
  19. 移动安全--45--MobSF-v3.0源代码分析(一)
  20. css直角线_CSS魔法堂:重拾Border之——不仅仅是圆角

热门文章

  1. 啊哈,拉个群就是私域流量,怪不得做不好运营工作
  2. Qt5.9中在Pixmap图片设备上绘制线段实例
  3. Java BlockingQueue
  4. https请求连接超时
  5. 无线通信关键技术---扰码
  6. python 组合数字和字符_python无限生成不重复(字母,数字,字符)组合的方法
  7. 《卓有成效的管理者》——学习心得(六)
  8. Python拆分PPT文件的方法
  9. 【经验帖】深度学习如何训练出好的模型
  10. 基于单片机的频率测量控制系统设计 (频率计)(电路+程序)