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.xxx
Ïà¹ØÎĵµ£º
1¡¢ÔÚX11½çÃæÉÏÐÞ¸ÄIPµØÖ·µÈÍøÂçÐÅÏ¢ºó±ØÐëÖØÆôϵͳ²Å»áÉúЧ¡£
2¡¢±àÒëmipsÖ¸Áî³ÌÐòʱ£¬ÓÃmipsel-linux-gccÃüÁîÌáʾmipsel-linux-gcc:command not found£¬¿ÉÒÔÐÞ¸Ä~/.bash_profileÎļþµÄPATH»·¾³±äÁ¿ºóÌí¼Ó:/opt/i686-mipsel-linux-gcc-sdk-3.4.4/cross/bin¡£
¡¡¡¡PATHµÄÖµÊÇһϵÁÐĿ¼£¬µ±ÄúÔËÐÐÒ»¸ö³ÌÐòʱ£¬LinuxÔÚÕâЩ ......
»¹²»ÊÇÌ«»áÓÃÕâ¸öcgywin.
------------------------------------------
UÅÌÉϵÄÒÆ¶¯linux»·¾³£¨cygwinƪ£©
ËäÈ»ÔÚ×Ô¼ºµÄ±¾±¾ÉÏ×°ºÃÁËubuntu£¬µ«ÊÇÔÚµ¥Î»µÄ»ú×ÓÉϹ¤×÷ʱ£¬»¹ÊÇÓõÄwindows£¬ÎÞ·¨Ê¹ÓÃÇ¿´óµÄSHELL¡£ÓÚÊǾͣ¬ÏëÆðÁËcygwinÁË¡£µ«ÊÇ£¬ÎÒ×ܲ»ÄܸøÃ¿Ò»Ì¨»úÆ÷×°cygwin°É¡£ÓÚÊǺõ£¬¾Í²úÉú°Ñcygwin×°½øUÅ̵ÄÏë·¨¡£×Ô ......
Unix/LinuxÍøÂç½Ó¿Ú¹ÜÀíÏà¹ØÃüÁî½éÉÜ
Unix/Linux ÍøÂç½Ó¿Ú¹ÜÀíÏà¹ØÃüÁî½éÉÜ
»ñÈ¡ÍøÂçÊÊÅäÆ÷ÁбíÐÅÏ¢
ÔÚ»ñÖªÍøÂç½Ó¿ÚʹÓÃ״̬֮ǰ£¬Äã¿ÉÄÜÐèÒªÖªµÀÄ㵱ǰµÄϵͳʹÓõÄÍøÂçÊÊÅäÆ÷£¬ÔÚ Linux ºÍ AIX ÖÐ²é¿´ÍøÂçÉ豸Æ÷µÄÊôÐÔʹÓò»Í¬µÄÃüÁÏÂÃæµÄÀý×Ó¸ø³öÁËÔÚ²»Í¬ÏµÍ³ÉÏÈçºÎ²é¿´ÍøÂçÉ豸Æ÷µÄÊôÐÔ¡£
Linux ϵͳÆô¶¯¼ÓÔØÍø¿ ......
Ò»¡¢ÒýÑÔ
UDPÊÇTCP/IPÐÒéÖеĴ«Êä²ãÐÒéµÄÒ»ÖÖ£¬±¾ÎĽéÉÜÁËÔÚLinuxϱàд»ùÓÚUDPÐÒéµÄClient/ServerÄ£Ð͵ijÌÐòµÄ·½·¨£¬²¢¸ø³öÁËÒ»¸öecho Client/ServerÀý×Ó³ÌÐò¡£
¶þ¡¢UDPÐÒé¼ò½é
UDPÊÇÒ»ÖÖ¼òµ¥ ......