Program received signal SIGSEGV, Segmentation fault.

来源:互联网 发布:如何导出淘宝客户资料 编辑:程序博客网 时间:2024/05/29 18:50

 

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

原创粉丝点击