·¢²©ÎÄ
¸çµÂ°ÍºÕ²ÂÏë

godbach.blog.chinaunix.net

   
¸öÈË×ÊÁÏ
  • ²©¿Í·ÃÎÊ£º358014
  • ²©ÎÄÊýÁ¿£º151
  • ²©¿Í»ý·Ö£º8697
  • ²©¿ÍµÈ¼¶£ºÖн«
  • ¹Ø×¢ÈËÆø£º 23
  • ×¢²áʱ¼ä£º2007-03-09 21:21:24
¶©ÔÄÎҵIJ©¿Í
  • ¶©ÔÄ
  • ¶©Ôĵ½Ïʹû
  • ¶©Ôĵ½×¥Ïº
  • ¶©Ôĵ½Google
×ÖÌå´óС£º´ó ÖРС²©ÎÄ
kernel: segfault at (2011-04-19 14:06)


testseg[24850]: segfault at 0000000000000000 rip 0000000000400470 rsp 0000007fbffff8a0 error 6
      ÕâÖÖÐÅÏ¢Ò»°ã¶¼ÊÇÓÉÄÚ´æ·ÃÎÊÔ½½çÔì³ÉµÄ£¬²»¹ÜÊÇÓû§Ì¬³ÌÐò»¹ÊÇÄÚºË̬³ÌÐò·ÃÎÊÔ½½ç¶¼»á³öcore, ²¢ÔÚϵͳÈÕÖ¾ÀïÃæÊä³öÒ»ÌõÕâÑùµÄÐÅÏ¢¡£ÕâÌõÐÅÏ¢µÄÇ°Ãæ·Ö±ðÊÇ·ÃÎÊÔ½½çµÄ³ÌÐòÃû£¬½ø³ÌIDºÅ£¬·ÃÎÊÔ½½çµÄµØÖ·ÒÔ¼°µ±Ê±½ø³Ì¶ÑÕ»µØÖ·µÈÐÅÏ¢£¬±È½ÏÓÐÓõÄÐÅÏ¢ÊÇ ×îºóµÄerror number. ÔÚÉÏÃæµÄÐÅÏ¢ÖУ¬error numberÊÇ4 ,ÏÂÃæÏêϸ½éÉÜÒ»ÏÂerror numberµÄÐÅÏ¢£º
ÔÚÉÏÃæµÄÀý×ÓÖУ¬error numberÊÇ6, ת³É¶þ½øÖƾÍÊÇ110, ¼´bit2=1, bit1=1, bit0=0, °´ÕÕÉÏÃæµÄ½âÊÍ£¬ÎÒÃÇ¿ÉÒԵóöÕâÌõÐÅÏ¢ÊÇÓÉÓÚÓû§Ì¬³ÌÐò¶Á²Ù×÷·ÃÎÊÔ½½çÔì³ÉµÄ¡£
error numberÊÇÓÉÈý¸ö×Öλ×é³ÉµÄ£¬´Ó¸ßµ½µ×·Ö±ðΪbit2 bit1ºÍbit0,ËùÒÔËüµÄȡֵ·¶Î§ÊÇ0~7.

bit2: ֵΪ1±íʾÊÇÓû§Ì¬³ÌÐòÄÚ´æ·ÃÎÊÔ½½ç£¬ÖµÎª0±íʾÊÇÄÚºË̬³ÌÐòÄÚ´æ·ÃÎÊÔ½½ç
bit1: ֵΪ1±íʾÊÇд²Ù×÷µ¼ÖÂÄÚ´æ·ÃÎÊÔ½½ç£¬ÖµÎª0±íʾÊǶÁ²Ù×÷µ¼ÖÂÄÚ´æ·ÃÎÊÔ½½ç
bit0: ֵΪ1±íʾûÓÐ×ã¹»µÄȨÏÞ·ÃÎÊ·Ç·¨µØÖ·µÄÄÚÈÝ£¬ÖµÎª0±íʾ·ÃÎʵķǷ¨µØÖ·¸ù±¾Ã»ÓжÔÓ¦µÄÒ³Ãæ£¬Ò²¾ÍÊÇÎÞЧµØÖ·

¸ù¾ÝsegfaultÐÅÏ¢µ÷ÊÔ¶¨Î»³ÌÐòbug£º
#include<stdio.h>int main(){        int *p;        *p=12;        return 1;}

1. gcc testseg.c -o testseg -g£¬ÔËÐÐ./testseg²é¿´dmesgÐÅÏ¢ÈçÏ£º
    testseg[26063]: segfault at 0000000000000000 rip 0000000000400470 rsp 0000007fbffff8a0 error 6
2. ÔËÐÐaddr2line -e testseg 0000000000400470£¬Êä³öÈçÏ£º
    /home/xxx/xxx/c/testseg.c:5 [...]

Ô­ÎÄÁ¬½Ó£ºhttp://zengji.li.blog.163.com/blog/static/87078186201011154156409/

²©¿ÍÍÆ¼öÎÄÕÂ
Ç×£¬Äú»¹Ã»ÓеǼ,Çë[µÇ¼]»ò[×¢²á]ºóÔÙ½øÐÐÆÀÂÛ