不能产生CORE的问题

软件和网站开发以及相关技术探讨
回复
hbaolong
帖子: 44
注册时间: 2007-07-08 12:02

不能产生CORE的问题

#1

帖子 hbaolong » 2008-01-05 15:42

ulimit -c 10000
hbaolong@hbaolong-thinkpad:~/workspace/develop/hr_ana$ ./a.out
Floating point exception (core dumped)
hbaolong@hbaolong-thinkpad:~/workspace/develop/hr_ana$ ls
1.c a.out wb.c
hbaolong@hbaolong-thinkpad:~/workspace/develop/hr_ana$ ulimit -c
10000
hbaolong@hbaolong-thinkpad:~/workspace/develop/hr_ana$


如上,不知道为什么CORE老是出不来。
头像
iblicf
帖子: 3766
注册时间: 2007-01-15 17:15

#2

帖子 iblicf » 2008-01-05 16:14

我试验了一下,有 core 阿,,比如:

代码: 全选

#include<stdio.h>
#include<stdlib.h>

int main ()
{
char *arg;
arg=(char*)malloc(128);
printf(" hello world!\nPlease input your words\n");
scanf("%s",arg);
printf( "%s\n",arg );
free(arg);
free(arg); //---------------------------------------------------------->free twice !!!!
return 0;
}

代码: 全选

iblicf@ubuntu:~/temp/ttt$ ls -l
total 108K
-rw------- 1 iblicf 420K 2008-01-05 16:18 core
-rwxr-xr-x 1 iblicf 6.7K 2008-01-05 16:18 a.out
-rw-r--r-- 1 iblicf  237 2008-01-05 16:18 bb.c
hbaolong
帖子: 44
注册时间: 2007-07-08 12:02

#3

帖子 hbaolong » 2008-01-05 19:54

但我的确实生成不了。哪位高手指点一下,
或,是不是我在内存太大,生成不了呢?我是3G的内存。
头像
bones7456
帖子: 8495
注册时间: 2006-04-12 20:05
来自: 杭州
联系:

#4

帖子 bones7456 » 2008-01-05 20:28

我用了 iblicf 的那个程序,是这样的,错误直接显示的,还蛮详细的:
lily@LLY:~/test/core$ gcc 1.c
lily@LLY:~/test/core$ ./a.out
hello world!
Please input your words
hello
hello
*** glibc detected *** ./a.out: double free or corruption (top): 0x0804a008 ***
======= Backtrace: =========
/lib/tls/i686/cmov/libc.so.6[0xb7ea2d65]
/lib/tls/i686/cmov/libc.so.6(cfree+0x90)[0xb7ea6800]
./a.out[0x8048464]
/lib/tls/i686/cmov/libc.so.6(__libc_start_main+0xe0)[0xb7e4f050]
./a.out[0x80483a1]
======= Memory map: ========
08048000-08049000 r-xp 00000000 08:07 7293114 /home/lily/test/core/a.out
08049000-0804a000 rw-p 00000000 08:07 7293114 /home/lily/test/core/a.out
0804a000-0806b000 rw-p 0804a000 00:00 0 [heap]
b7d00000-b7d21000 rw-p b7d00000 00:00 0
b7d21000-b7e00000 ---p b7d21000 00:00 0
b7e38000-b7e39000 rw-p b7e38000 00:00 0
b7e39000-b7f7d000 r-xp 00000000 08:05 619913 /lib/tls/i686/cmov/libc-2.6.1.so
b7f7d000-b7f7e000 r--p 00143000 08:05 619913 /lib/tls/i686/cmov/libc-2.6.1.so
b7f7e000-b7f80000 rw-p 00144000 08:05 619913 /lib/tls/i686/cmov/libc-2.6.1.so
b7f80000-b7f83000 rw-p b7f80000 00:00 0
b7f85000-b7f8f000 r-xp 00000000 08:05 586435 /lib/libgcc_s.so.1
b7f8f000-b7f90000 rw-p 0000a000 08:05 586435 /lib/libgcc_s.so.1
b7f90000-b7f94000 rw-p b7f90000 00:00 0
b7f94000-b7fae000 r-xp 00000000 08:05 586381 /lib/ld-2.6.1.so
b7fae000-b7fb0000 rw-p 00019000 08:05 586381 /lib/ld-2.6.1.so
bf83a000-bf84f000 rw-p bf83a000 00:00 0 [stack]
ffffe000-fffff000 r-xp 00000000 00:00 0 [vdso]
忽略 (core dumped)
lily@LLY:~/test/core$ ls
1.c a.out

lily@LLY:~/test/core$ cat 1.c
#include<stdio.h>
#include<stdlib.h>

int main ()
{
char *arg;
arg=(char*)malloc(128);
printf(" hello world!\nPlease input your words\n");
scanf("%s",arg);
printf( "%s\n",arg );
free(arg);
free(arg); //---------------------------------------------------------->free twice !!!!
return 0;
}
lily@LLY:~/test/core$
关注我的blog: ε==3
回复