Linux Oops£º½â¶ÁLinuxϵͳ¹ýʧÌáÐÑ
ÔÚʹÓÃLinux²Ù×÷ϵͳµÄÀú³ÌÖУ¬ÎÒÃÇÄÑÃâ»áÓöµ½ÖÖÖÖ¸÷ÑùµÄ¹ýʧÌáÐÑ¡£ÆäÖУ¬Linuxϵͳ¹ýʧÌáÐÑÖеĔOops”ÊÇÒ»ÖÖ½ÏÁ¿³£¼ûÇÒÖ÷ÒªµÄÌáÐÑ£¬Í¨³£»áÅãͬ×ÅһЩÏêϸµÄ¹ýʧ´úÂëºÍÐÅÏ¢¡£±¾ÎĽ«×ÅÖØÌÖÂÛLinux OopsÌáÐѵļÄÒåºÍÔõÑù½â¶ÁÕâЩÌáÐÑ£¬Í¬Ê±¸ø³öһЩÏêϸµÄ´úÂëʾÀý¾ÙÐÐ˵Ã÷¡£
Linux OopsÊÇʲô£¿
ÔÚLinuxϵͳÖУ¬OopsÊÇÒ»ÖÖÄں˼¶µÄ¹ýʧÌáÐÑ£¬Í¨³£ÌåÏÖϵͳ±¬·¢ÁËÑÏÖصÄÎÊÌâ»ò¹ýʧ¡£µ±ÏµÍ³±¬·¢Oopsʱ£¬Äں˻á´òӡһϵÁйýʧÐÅÏ¢£¬°üÀ¨µ¼ÖÂÎÊÌâµÄÔµ¹ÊÔÓÉ¡¢ÏìÓ¦µÄ¹ýʧ´úÂëÒÔ¼°¿ÉÄܵĽâ¾öÒªÁì¡£ÕâЩ¹ýʧÐÅÏ¢¹ØÓÚÕï¶ÏÏ¢Õù¾öÎÊÌâÖÁ¹ØÖ÷Òª£¬Òò´ËÏàʶÔõÑù½â¶ÁOopsÌáÐÑÊǺÜÊÇÖ÷ÒªµÄ¡£
ÔõÑù½â¶ÁLinux OopsÌáÐÑ£¿
Ҫ׼ȷ½â¶ÁLinux OopsÌáÐÑ£¬Ê×ÏÈÐèÒª×ÐϸÔĶÁ¹ýʧÐÅÏ¢ÖеÄÒªº¦ÄÚÈÝ£¬°üÀ¨¹ýʧ´úÂë¡¢±¨´íλÖõÈÐÅÏ¢¡£Í¨³££¬Linux OopsÌáÐѵÄÐÅÏ¢»á°üÀ¨ÒÔÏÂÄÚÈÝ£º
¹ýʧ´úÂ룺Linux OopsÌáÐÑÖлá°üÀ¨Ò»Ð©¹ýʧ´úÂ룬ÓÃÓÚ±êʶÎÊÌâµÄÀàÐͺÍÔµ¹ÊÔÓÉ¡£ÀýÈ磬”Oops: 0000 [#1] SMP”ÖеĔ0000″ÌåÏÖ¹ýʧ´úÂ룻”SMP”ÌåÏֶദÀíÆ÷ϵͳ¡£
±¨´íλÖãºLinux OopsÌáÐÑͨ³£»áÖ¸³öµ¼ÖÂÎÊÌâµÄÏêϸ´úÂëλÖ㬰üÀ¨ÎļþÃûºÍ´úÂëÐÐÊý¡£ÕâÓÐÖúÓÚ¶¨Î»ÎÊÌâËùÔڵĴúÂë¶Î£¬ÓÐÖúÓÚ½øÒ»²½ÆÊÎöÏ¢Õù¾öÎÊÌâ¡£
¹ýʧÐÅÏ¢£ºLinux OopsÌáÐÑ»áÌṩһЩ¹ØÓÚÎÊÌâµÄÐÎòºÍ¿ÉÄܵÄÔµ¹ÊÔÓÉ¡£ÕâЩÐÅÏ¢¹ØÓÚÃ÷È·ÎÊÌâµÄÅä¾°Ï¢Õù¾öÒªÁìÖÁ¹ØÖ÷Òª¡£
Ïêϸ´úÂëʾÀýÆÊÎö
½ÓÏÂÀ´£¬ÎÒÃǽ«Í¨¹ýһЩÏêϸµÄ´úÂëʾÀýÀ´ÆÊÎöLinux OopsÌáÐÑ£¬×ÊÖú¶ÁÕ߸üºÃµØÃ÷È·ºÍÓ¦¶ÔÕâЩÎÊÌâ¡£
Àý1£ºÊ¹ÓÿÕÖ¸Õë¹ýʧ
¼ÙÉèÎÒÃÇÓÐÈçÏÂCÓïÑÔ´úÂ룺
#include <stdio.h> int main() { int *ptr = NULL; *ptr = 10; return 0; }
µÇ¼ºó¸´ÖÆ
µ±ÔËÐиóÌÐòʱ£¬¿ÉÄܻᵼÖÂLinux OopsÌáÐÑ£º
Oops: 0000 [#1] SMP
µÇ¼ºó¸´ÖÆ µÇ¼ºó¸´ÖÆ
Õâ¸öÌáÐÑÅú×¢³ÌÐòÖзºÆðÁË¿ÕÖ¸Õë¹ýʧ£¬µ¼ÖÂϵͳ±¬·¢ÁËÎÊÌâ¡£½â¾öÒªÁìÊǼì²éÖ¸ÕëÊÇ·ñΪ¿Õ£¬×èÖ¹Ö±½ÓʹÓÿÕÖ¸Õë¾ÙÐи³Öµ²Ù×÷¡£
Àý2£ºÄÚ´æÒçÍÉ»¯Îó
ÔÙ¿´Ò»¸öÀý×Ó£¬¼ÙÉèÎÒÃÇÓÐÈçÏÂC++´úÂ룺
#include <iostream> #include <vector> int main() { std::vector<int> vec(10); for(int i = 0; i <= 10; i++) { vec[i] = i; } return 0; }
µÇ¼ºó¸´ÖÆ
ÔÚÔËÐÐÕâ¸ö³ÌÐòʱ£¬¿ÉÄܻᵼÖÂLinux OopsÌáÐÑ£º
Oops: 0000 [#1] SMP
µÇ¼ºó¸´ÖÆ µÇ¼ºó¸´ÖÆ
Õâ¸öÌáÐÑÅú×¢³ÌÐòÖб¬·¢ÁËÊý×éÔ½½çµÄ¹ýʧ£¬µ¼ÖÂϵͳ·ºÆðÁËÎÊÌâ¡£½â¾öÒªÁìÊÇÔÚÑ»·ÖÐ׼ȷ¿ØÖÆÊý×éϱ꣬×èÖ¹Ô½½ç»á¼û¡£
×ܽá
ͨ¹ýÔĶÁ±¾ÎÄ£¬¶ÁÕß¿ÉÒÔ¸üºÃµØÃ÷È·Linuxϵͳ¹ýʧÌáÐÑÖеÄOops£¬ÏàʶÔõÑù½â¶ÁÕâЩÌáÐÑÒÔ¼°ÔõÑùÓ¦¶Ô²î±ðÀàÐ͵Ĺýʧ¡£Í¬Ê±£¬Í¨¹ýÏêϸµÄ´úÂëʾÀýÆÊÎö£¬¶ÁÕßÒ²¿ÉÒÔÉîÈëÏàʶÎÊÌâµÄ»ù´¡Ôµ¹ÊÔÓÉ£¬²¢Ñ§»áÔõÑù×èÖ¹³£¼ûµÄ¹ýʧ¡£Ï£Íû¶ÁÕßÔÚʹÓÃLinuxϵͳʱÄܹ»Óöµ½¸üÉÙµÄÎÊÌ⣬ͬʱҲÄÜÔ½·¢ÊìÁ·µØ´¦Àíϵͳ¹ýʧ¡£
ÒÔÉϾÍÊÇLinux Oops£º½â¶ÁLinuxϵͳ¹ýʧÌáÐѵÄÏêϸÄÚÈÝ£¬¸ü¶àÇë¹Ø×¢±¾ÍøÄÚÆäËüÏà¹ØÎÄÕ£¡