ÔÚLinuxϲúÉú²¢µ÷ÊÔcoreÎļþ
	
    
    
	ÔÚLinuxϲúÉú²¢µ÷ÊÔcoreÎļþ
ÏÈ¿´¿´ÎÒÓõÄÊǸöʲô»úÆ÷£º
$ uname -a
Linux dev 2.4.21-9.30AXsmp #1 SMP Wed May 26 23:37:09 EDT 2004 i686 i686 i386 GNU/Linux
ÔÙ¿´¿´Ä¬ÈϵÄһЩ²ÎÊý£¬×¢Òâcore file sizeÊǸö0£¬³ÌÐò³ö´íʱ²»»á²úÉúcoreÎļþÁË¡£
$ ulimit -a
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
file size (blocks, -f) unlimited
max locked memory (kbytes, -l) 4
max memory size (kbytes, -m) unlimited
open files (-n) 2048
pipe size (512 bytes, -p) 8
stack size (kbytes, -s) 10240
cpu time (seconds, -t) unlimited
max user processes (-u) 7168
virtual memory (kbytes, -v) unlimited
д¸ö¼òµ¥µÄ³ÌÐò£¬¿´¿´coreÎļþÊDz»Êǻᱻ²úÉú¡£
$ more foo.c
#include <stdio.h>
static void sub(void);
int main(void)
{
    sub();
    return 0;
}
static void sub(void)
{
    int *p = NULL;
    /* derefernce a null pointer, expect core dump. */
    printf("%d", *p);
}
$ gcc -Wall -g foo.c
$ ./a.out
Segmentation fault
$ ls -l core.*
ls: core.*: No such file or directory
ûÓÐÕÒµ½coreÎļþ£¬ÎÒÃǸĸÄulimitµÄÉèÖã¬ÈÃËü²úÉú¡£1024ÊÇËæ±ãÈ¡µÄ£¬ÒªÊÇcoreÎļþ´óÓÚ1024¸ö¿é£¬¾Í²úÉú²»³öÀ´ÁË¡£
$ ulimit -c 1024
$ ulimit -a
core file size (blocks, -c) 1024
data seg size (kbytes, -d) unlimited
file size (blocks, -f) unlimited
max locked memory (kbytes, -l) 4
max memory size (kbytes, -m) unlimited
open files (-n) 2048
pipe size (512 bytes, -p) 8
stack size (kbytes, -s) 10240
cpu time (seconds, -t) unlimited
max user processes (-u) 7168
virtual memory (kbytes, -v) unlimited
$ ./a.out
Segmentation fault (core dumped)
$ ls -l core.*
-rw------- 1 uniware uniware 53248 Jun 30 17:10 core.9128
×¢Òâ¿´ÉÏÊöµÄÊä³öÐÅÏ¢£¬¶àÁ˸ö(core dumped)¡£È·Êµ²úÉúÁËÒ»¸öcoreÎļþ£¬9128ÊǸýø³ÌµÄPID¡£ÎÒÃÇÓÃGDBÀ´¿´¿´Õâ¸öcore¡£
$ gdb --core=core.9128
GNU gdb Asianux (6.0post-0.20040223.17.1AX)
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the G
    
     
	
	
    
    
	Ïà¹ØÎĵµ£º
        
    
    ¿ÉÒÔ²ÉÓÃsysVµÄshmget £« shmat ʵÏÖ¡£
µ«ÊÇÎÒ¸üϲ»¶shm_open + mmap ¸ü¼òµ¥¡£
#---------------------writer.c----------------------------
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>
#include <stdlib.h>
#include <stdio.h>
 ......
	
    
        
    
    from:×ÞöεÄרÀ¸
    ʲôʱºòÐèÒª´´½¨Ï̳߳ØÄØ£¿¼òµ¥µÄ˵£¬Èç¹ûÒ»¸öÓ¦ÓÃÐèҪƵ·±µÄ´´½¨ºÍÏú»ÙỊ̈߳¬¶øÈÎÎñÖ´ÐеÄʱ¼äÓַdz£¶Ì£¬ÕâÑùÏ̴߳´½¨ºÍÏú»ÙµÄ´øÀ´µÄ¿ªÏú¾Í²»ÈݺöÊÓ£¬ÕâʱҲÊÇÏ̳߳ظóö³¡µÄ»ú»áÁË¡£Èç¹ûÏ̴߳´½¨ºÍÏú»Ùʱ¼äÏà±ÈÈÎÎñÖ´ÐÐʱ¼ä¿ÉÒÔºöÂÔ²»¼Æ£¬ÔòûÓбØÒªÊ¹ÓÃÏ̳߳ØÁË¡£
  &n ......
	
    
        
    
    µÚ20Õ  LinuxÄÚºËÒÆÖ²
Èí¼þÒÆÖ²µÄ¸ÅÄî¼òµ¥µØËµ¾ÍÊÇÈÃÒ»Ì×Èí¼þÔÚÖ¸¶¨µÄÓ²¼þƽ̨ÉÏÕý³£ÔËÐС£ÒÆÖ²ÖÁÉÙ°üÀ¨ÁËÁ½¸ö²»Í¬µÄÓ²¼þ»òÕßÈí¼þƽ̨¡£¶ÔÓÚÓ¦ÓÃÈí¼þÀ´Ëµ£¬ÒÆÖ²Ö÷Òª¿¼ÂDzÙ×÷ϵͳµÄ²îÒì£¬ÖØµãÔÚÐÞ¸Äϵͳµ÷Óᣱ¾ÕµÄÖØµãÊÇLinuxÄÚºËÒÆÖ²£¬ÐèÒª¿¼ÂÇÓ²¼þƽ̨µÄ²îÒì£¬Éæ¼°½Ï¶à֪ʶ¡£Ö÷ÒªÄÚÈÝÈçÏ£º
q    ......
	
    
        
    
    ǰ    ÑÔ
“Linux£¿Ëü±ÈWindows¸üºÃÂð£¿ÎÒÄÜÓÃËü´òħÊÞÂ𣿔
“¿È£¡±ðÌáÁË£¬Ëü²Ù×÷ÆðÀ´ÌرðÂé·³£¬ÄãµÃ²»Í£µØÇû÷¼üÅÌ¡£Ã»×¼Ëü»¹»á³ÃÄã²»×¢ÒâµÄʱºòÔÚÄãµÄÊÖָͷÉÏÒ§Ò»¿ÚÄØ£¡”
»òÐíÄãÒ²ÓÐÀàËÆµÄÏë·¨¡£µ«ÎÞÂÛÈËÃǶÔLinuxÓÐÔõÑùµÄÎó½â£¬ÖÁÉÙÎÒ²»ÔÙÏñǰЩÄêÄÇÑùƵ·±µØ»Ø´ð“Linux ......
	
    
        
    
    1.3  LinuxµÄ·¢Ðа汾
Ñϸñ˵À´£¬LinuxÕâ¸ö´Ê²¢²»ÄÜÖ¸´ú±¾ÊéËùÒª½éÉܵÄÕâ¸ö£¨»òÕß˵¼¸¸ö£©²Ù×÷ϵͳ¡£Linuxʵ¼ÊÉÏÖ»¶¨ÒåÁËÒ»¸ö²Ù×÷ϵͳÄںˣ¬Õâ¸öÄÚºËÓÉkernel.org¸ºÔðά»¤¡£²»Í¬µÄÆóÒµºÍ×éÖ¯ÔÚ´Ë»ù´¡ÉÏ¿ª·¢ÁËһϵÁи¨ÖúÈí¼þ£¬´ò°ü·¢²¼×Ô¼ºµÄ“·¢Ðа汾”¡£¸÷ÖÖ·¢Ðа汾¿ÉÒÔ“·Ç³£²»Í¬”£¬È´Êǽ¨Á ......