段错误segfault

# dmesg

[139503.905960] a.out[85431]: segfault at 1458 ip 0000000000400ad0 sp 00007ffd2b619100 error 6 in a.out[400000+2000]

# cat /var/log/messages | grep segfault

Jul  6 21:54:20 localhost kernel: a.out[85192]: segfault at 1458 ip 0000000000400a44 sp 00007ffe51693d30 error 6 in a.out[400000+2000]

#dmesg | grep segfault

[139503.905960] a.out[85431]: segfault at 1458 ip 0000000000400ad0 sp 00007ffd2b619100 error 6 in a.out[400000+2000]

    error 6 :

    110

    1: 表示是用户态程序内存访问越界,值为0表示是内核态程序内存访问越界 
    1: 表示是写操作导致内存访问越界,值为0表示是读操作导致内存访问越界 
    0: 表示访问的非法地址根本没有对应的页面,也就是无效地址,值为1表示没有足够的权限访问非法地址的内容

把core的段错误信息保存:

# ulimit -c

0

# vim /root/.bash_profile

加 ulimit -S -c  unlimited

# source /root/.bash_profile

# ulimit -c

unlimited

#gdb -c core a.out  生成的信息在当前目录下

你可能感兴趣的:(Linux私房菜)