您的位置:首页 > 其它

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

2007-08-29 14:38 323 查看
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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐