Program received signal SIGSEGV, Segmentation fault.
wo们知道SIGSEGV默认handler的动作是打印”段错误"的出错信息,并产生Core文件,
lihacker@lihacker-laptop:~$ ulimit -c
0
lihacker@lihacker-laptop:~$ ulimit -c 1000
lihacker@lihacker-laptop:~$ ulimit -c
1000
lihacker@lihacker-laptop:~$
解除禁止生成core文件 即可看到生成的core . 此时并没有产生core文件,接下来使用ulimit -c设置core文件大小为无限制
lihacker@lihacker-laptop:~$ ulimit -c
0
lihacker@lihacker-laptop:~$ ulimit -c unlimited
lihacker@lihacker-laptop:~$ ./clone
Segmentation fault (core dumped)
下一步:lihacker@lihacker-laptop:~$ gdb ./clone core
lihacker@lihacker-laptop:~$ valgrind --tool=memcheck --leak-check=yes --show-reachable=yes -v --num-callers=20 --track-fds=yes ./clone_thread
==22731== Invalid write of size 4
==22731== at 0x412145B: clone (in /lib/tls/i686/cmov/libc-2.9.so)
==22731== by 0x4053774: (below main) (in /lib/tls/i686/cmov/libc-2.9.so)
==22731== Address 0x41a1010 is not stack'd, malloc'd or (recently) free'd
==22731==
==22731== Invalid write of size 4
==22731== at 0x4121462: clone (in /lib/tls/i686/cmov/libc-2.9.so)
==22731== by 0x4053774: (below main) (in /lib/tls/i686/cmov/libc-2.9.so)
==22731== Address 0x41a100c is not stack'd, malloc'd or (recently) free'd
==22731==
==22731== Invalid write of size 4
==22731== at 0x4121465: clone (in /lib/tls/i686/cmov/libc-2.9.so)
==22731== by 0x4053774: (below main) (in /lib/tls/i686/cmov/libc-2.9.so)
==22731== Address 0x41a1008 is not stack'd, malloc'd or (recently) free'd
==22731==
==22731== Invalid write of size 4
==22731== at 0x4121484: clone (in /lib/tls/i686/cmov/libc-2.9.so)
==22731== by 0x4053774: (below main) (in /lib/tls/i686/cmov/libc-2.9.so)
==22731== Address 0x41a1004 is not stack'd, malloc'd or (recently) free'd