查看程序运行失败后core文件给出的信息

来源:互联网 发布:淘宝abc类违规 编辑:程序博客网 时间:2024/06/05 17:18

1、如果没有core文件生成可以如下配置:

  ulimit -c 结果可能是0;用ulimit   -c   unlimited命令开启

2、 查看core文件给出的信息

 

#include <stdio.h>
int main()
{
char *p = NULL;
        char *q = "123";
        memcpy(p,q,4);
        printf("%s/n",p);
        return 0;
}
(gdb) where
#0  0x4009ae43 in memcpy (dstpp=0x0, srcpp=0x8048428, len=4) at ../sysdeps/generic/memcpy.c:61
#1  0x080483b8 in main () at nullPointWasUsed.c:7
#2  0x4003d17d in __libc_start_main (main=0x8048374 <main>, argc=1, ubp_av=0xbffff8a4, init=0x8048254 <_init>, fini=0x8048404 <_fini>, rtld_fini=0x4000a534 <_dl_fini>,
    stack_end=0xbffff89c) at ../sysdeps/generic/libc-start.c:129
很容易就能看出是空指针操作 memcpy (dstpp=0x0, srcpp=0x8048428, len=4)

gdb yourExecName core
gdb>where
或者使用:gdb>frame 0
原创粉丝点击