linux下的dump调试

来源:互联网 发布:包包设计软件 编辑:程序博客网 时间:2024/06/03 15:27

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

一 core文件的生成

  1 查看core信息

     输入 ulimit -a,显示如下:

core file size          (blocks, -c) 1024
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 20
file size               (blocks, -f) unlimited
pending signals                 (-i) 16382
max locked memory       (kbytes, -l) 64
max memory size         (kbytes, -m) unlimited
open files                      (-n) 1024
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 8192
cpu time               (seconds, -t) unlimited
max user processes              (-u) unlimited
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited


    如果core file size为0的话,则输入ulimit -c 1024, 表示设置成1024个block,如果超过这个值就不再写core文件


   2 测试程序如下

   

#include <stdio.h>

int test()

{

   int * p = NULL;              

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

}

int main()

{

 test();

}

在ubuntu上编译程序:

gcc –Wall  -g  test.c 

加上可执行权限

chmod +x a.out

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


拷贝core文件到本机,执行

gdb --core=core

显示如下:

GNU gdb 6.8-debian
Copyright (C) 2008 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 "x86_64-linux-gnu".
(no debugging symbols found)
Core was generated by `./a.out'.
Program terminated with signal 11, Segmentation fault.
[New process 18079]
#0  0x0000000000400520 in ?? ()
(gdb)

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

(gdb) file ./a.out

显示如下:

Reading symbols from /home/share/test/a.out...done.

执行(gdb) bt,显示如下:

#0  0x0000000000400520 in just_a_test () at hello.c:8
#1  0x0000000000400546 in main () at hello.c:15

即定位到相应的错误行




0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 学生有两个学籍怎么办 孩子出现双学籍怎么办 在外地读书学籍怎么办 上高中没学籍怎么办 电信欠费了网络怎么办 头发里长脓包怎么办 工作总是做不好怎么办 能力差的人该怎么办 洗衣机里有味道怎么办 洗衣机里面有味道怎么办 洗衣机内有味道怎么办 洗衣机总有味道怎么办 上体育课脚扭伤怎么办 教学实践评价表怎么办 初中孩子成绩下降怎么办 给孩子开家长会怎么办 读初三很难受怎么办 初三了英语很差怎么办 数学考30分怎么办 小学生阅读理解能力差怎么办 小学一年级数学差怎么办 小学一年级数学很差怎么办 初中生脸上长斑怎么办 初中生脸上长痘怎么办 初中成绩不好高中怎么办 农村老人去城里怎么办 留守儿童想妈妈怎么办 教师档案丢失了怎么办 转正定级表丢失怎么办 娃娃写作业慢怎么办 写作业眼睛疼怎么办 发生火灾怎么办大班教案 大班健康发生火灾怎么办 学生上课不提问怎么办 入户通知单丢了怎么办 打架后还来找事该怎么办 着火了怎么办教案视频 电脑一小半黑屏怎么办 绝地求生闪退怎么办 win7没浏览器了怎么办 浏览器被删除了怎么办