LinuxÏÂcoreÎļþµ÷ÊÔ·½·¨
ÔÚ³ÌÐò²»Ñ°³£Í˳öʱ£¬Äں˻áÔÚµ±Ç°¹¤×÷Ŀ¼ÏÂÉú³ÉÒ»¸öcoreÎļþ£¨ÊÇÒ»¸öÄÚ´æÓ³Ïñ£¬Í¬Ê±¼ÓÉϵ÷ÊÔÐÅÏ¢£©¡£Ê¹ÓÃgdbÀ´²é¿´coreÎļþ£¬¿ÉÒÔָʾ³öµ¼Ö³ÌÐò³ö´íµÄ´úÂëËùÔÚÎļþºÍÐÐÊý¡£
1.coreÎļþµÄÉú³É¿ª¹ØºÍ´óСÏÞÖÆ
1£©Ê¹ÓÃulimit -cÃüÁî¿É²é¿´coreÎļþµÄÉú³É¿ª¹Ø¡£Èô½á¹ûΪ0£¬Ôò±íʾ¹Ø±ÕÁ˴˹¦ÄÜ£¬²»»áÉú³ÉcoreÎļþ¡£
2£©
ʹÓÃulimit -c filesizeÃüÁ¿ÉÒÔÏÞÖÆcoreÎļþµÄ´óС£¨filesizeµÄµ¥Î»Îªkbyte£©¡£Èôulimit -c
unlimited£¬Ôò±íʾcoreÎļþµÄ´óС²»ÊÜÏÞÖÆ¡£Èç¹ûÉú³ÉµÄÐÅÏ¢³¬¹ý´Ë´óС£¬½«»á±»²Ã¼ô£¬×îÖÕÉú³ÉÒ»¸ö²»ÍêÕûµÄcoreÎļþ¡£ÔÚµ÷ÊÔ´ËcoreÎÄ
¼þµÄʱºò£¬gdb»áÌáʾ´íÎó¡£
2.coreÎļþµÄÃû³ÆºÍÉú³É·¾¶
coreÎļþÉú³É·¾¶:
ÊäÈë¿ÉÖ´ÐÐÎļþÔËÐÐÃüÁîµÄͬһ·¾¶Ï¡£
ÈôϵͳÉú³ÉµÄcoreÎļþ²»´øÆäËüÈκÎÀ©Õ¹Ãû³Æ£¬ÔòÈ«²¿ÃüÃûΪcore¡£ÐµÄcoreÎļþÉú³É½«¸²¸ÇÔÀ´µÄcoreÎļþ¡£
1£©/proc/sys/kernel/core_uses_pid¿ÉÒÔ¿ØÖÆcoreÎļþµÄÎļþÃûÖÐÊÇ·ñÌí¼Ópid×÷ΪÀ©Õ¹¡£ÎļþÄÚÈÝΪ1£¬±íʾÌí¼Ópid×÷ΪÀ©Õ¹Ãû£¬Éú³ÉµÄcoreÎļþ¸ñʽΪcore.xxxx£»Îª0Ôò±íʾÉú³ÉµÄcoreÎļþͬһÃüÃûΪcore¡£
¿Éͨ¹ýÒÔÏÂÃüÁîÐ޸ĴËÎļþ£º
echo "1" > /proc/sys/kernel/core_uses_pid
2£©proc/sys/kernel/core_pattern¿ÉÒÔ¿ØÖÆcoreÎļþ±£´æÎ»ÖúÍÎļþÃû¸ñʽ¡£
¿Éͨ¹ýÒÔÏÂÃüÁîÐ޸ĴËÎļþ£º
echo "/corefile/core-%e-%p-%t" > core_pattern£¬¿ÉÒÔ½«coreÎļþͳһÉú³Éµ½/corefileĿ¼Ï£¬²úÉúµÄÎļþÃûΪcore-ÃüÁîÃû-pid-ʱ¼ä´Á
ÒÔÏÂÊDzÎÊýÁбí:
%p - insert pid into filename Ìí¼Ópid
%u - insert current uid into filename Ìí¼Óµ±Ç°uid
%g - insert current gid into filename Ìí¼Óµ±Ç°gid
%s - insert signal that caused the coredump into the filename Ìí¼Óµ¼Ö²úÉúcoreµÄÐźÅ
%t - insert UNIX time that the coredump occurred into filename Ìí¼ÓcoreÎļþÉú³ÉʱµÄunixʱ¼ä
%h - insert hostname where the coredump happened into filename Ìí¼ÓÖ÷»úÃû
%e - insert coredumping executable name into filename Ìí¼ÓÃüÁîÃû
3.coreÎļþµÄ²é¿´
coreÎļþÐèҪʹÓÃgdbÀ´²é¿´¡£
gdb ./a.out
core-file core.xxxx
ʹÓÃbtÃüÁî¼´¿É¿´µ½³ÌÐò³ö´íµÄµØ·½¡£
Ïà¹ØÎĵµ£º
ÏÈÓÃwhoÃüÁî²é¿´ËùÓеǽÖÕ¶Ë
#who -uH
Êä³öÈçÏ£º
NAME LINE TIME IDLE PID COMMENT
root :0 2010-03-01 19:13 ? & ......
°²×°£¬Éý¼¶ºÍÐ¶ÔØÓ¦ÓÃÈí¼þÊÇÓ°ÏìÓû§¶Ô²Ù×÷ϵͳÆÀ¼ÛµÄ¾ö¶¨ÐÔÒòËØÖ®Ò»¡£¶ÔÓÚÈÕ½¥Á÷ÐÐµÄ GNU/Linux ²Ù×÷ϵͳ£¬ÓµÓмò½àÇ¿´óµÄÈí¼þ°ü¹ÜÀí»úÖÆ¹¦²»¿Éû¡£±¾ÎÄ´Ó»ù±¾µÄ rpm/dpkg ÃüÁîÐгö·¢£¬ÒÔ RHEL ºÍ UBUNTU ΪÀý£¬½éÉܵäÐÍ Linux ϵͳÖÐÓ¦ÓÃÈí¼þµÄ¹ÜÀíºÍʹÓá£
RPM/DPKG Á½´óÕóÓª¼ò½é
ÔÚ GNU/Linux( ÒÔϼò³Æ Linux) ²Ù×÷Ï ......
ÔÚÀàunix
²Ù×÷ϵͳ
ÖУ¬Çý¶¯
¼ÓÔØ
·½Ê½Ò»°ã·ÖΪ£º¶¯Ì¬¼ÓÔØºÍ¾²Ì¬¼ÓÔØ£¬ÏÂÃæ·Ö±ð¶ÔÆäÏêϸÂÛÊö¡£
Ò»¡¢¶¯Ì¬¼ÓÔØ
¶¯Ì¬¼ÓÔØÊǽ«Çý¶¯Ä£¿é¼ÓÔØµ½ÄÚºË
ÖУ¬¶ø²»ÄÜ·ÅÈë/lib/modules/Ï¡£
ÔÚ2.4ÄÚºËÖУ¬¼ÓÔØÇý¶¯ÃüÁî
Ϊ£ºinsmod ,ɾ³ýÄ£¿éΪ£ºrmmod£»
ÔÚ2 ......
±¾ÀýÊÇ·ë¹ú½øµÄ ¡¶Ç¶ÈëʽLinux Çý¶¯³ÌÐòÉè¼Æ´ÓÈëÃŵ½¾«Í¨¡·µÄµÚÒ»¸öÀý×Ó
¸Ð¾õÕæÊǺÃÊé Ç¿ÁÒÍÆ¼ö
×¢ÊÍÊÇdeep_pro¼ÓµÄ ×ªÔØÇë×¢Ã÷£¡ÎÒµÄÌØµãÊÇÎIJ»¼Óµã£¡
Õâ¸öÇý¶¯ÊÇÔÚÄÚ´æÖзÖÅäÒ»¸ö256×ֽڵĿռ䣬¹©Óû§Ì¬Ó¦ÓóÌÐò¶Áд¡£
ÏÈÊÇÍ·Îļþ demo.h
#ifndef _DEMO_H_
#define _DEMO_H_
#include <linux/ioct ......
½ñÌì×°ÁËÒ»ÌìµÄLinuxϵͳ£¬ÓëÆä˵°²×°»¹²»Èç˵ÊÇÏÂÔØÁËÒ»Ì죬ÏȺó×°ÁËfedora core 4£¬fedora core 6£¬×îºó×°fedora core 8ÖÕÓÚ¿ÉÒÔÓÃÁË£¬Ã¿¸ö¶¼ÊÇ3G¶à£¬ÒòΪÔÚѧУµÄ¹¤×÷ÊÒ£¬ËùÒÔÏÂÔØËÙ¶ÈÆ½¾ù¿ÉÒÔ´ïµ½1.9M²»µ½£¬Õâ¿ÉÊÇÏÞËٵ쬾ÍËãÕâÑùÎҵĵçÄÔÒ²ÒòΪÏÂÔØËÙ¶ÈÌ«¿ìËÀÁËN»ØÁË£¬¶¼ÊÇÇ¿ÖÆPowerµÄ£¬ÕæµÃ×°µÃÓеãÓôÃÆ°¡£¬×°FC4ÊÇÒ ......