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