Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

Linuxϵĵ÷ÊÔ¹¤¾ß

×ªÔØÊ±Çë×¢Ã÷³ö´¦ºÍ×÷ÕßÁªÏµ·½Ê½
ÎÄÕ³ö´¦£ºhttp://www.limodev.cn/blog
×÷ÕßÁªÏµ·½Ê½£ºÀîÏȾ² <xianjimli at hotmail dot com>
Ëæ×ÅXPµÄÁ÷ÐУ¬ÈËÃÇÔ½À´Ô½×¢ÖØÈí¼þµÄǰÆÚÉè¼Æ¡¢ºóÆÚµÄʵÏÖ£¬ÒÔ¼°¹á´©ÓÚÆäÖеIJâÊÔ¹¤×÷£¬¾­¹ýÕâ¸ö¹ý³Ì³öÀ´µÄ×ÔÈ»ÊǸßÖÊÁ¿µÄÈí¼þ¡£ÉõÖÁÓÐÈËÉù³ÆXP»áÌÔÌ­µ÷ÊÔÆ÷£¡Õ⵱ȻÊÇÓÐÒ»¶¨µÀÀíµÄ£¬È»¶ø¾ÍĿǰµÄÏÖʵÀ´¿´£¬Õ⻹ÊÇÒ»ÖÖÀíÏë¡£ÔÚÈÕ³£¹¤×÷ÖУ¬µ÷ÊÔ¹¤¾ß»¹ÊDZز»¿ÉÉٵġ£ÔÚLinuxÏ£¬µ÷ÊÔ¹¤¾ß²¢·ÇÖ»ÓÐgdb£¬»¹ÓкܶàÆäËüµ÷ÊÔ¹¤¾ß£¬ËüÃǶ¼¸÷ÓÐËù³¤£¬²àÖØ·½ÃæÒ²ÓÐËù²»Í¬¡£±¾ÎĽéÉܼ¸ÖÖ±ÊÕß³£Óõĵ÷ÊÔ¹¤¾ß£º
1. mtrace
ÔÚlinuxÏ¿ª·¢Ó¦ÓóÌÐò£¬ÓÃC/C++ÓïÑԵľӶࡣÄÚ´æÐ¹Â¶ºÍÄÚ´æÔ½½çµÈÄÚ´æ´íÎó£¬ÎÞÒÉÊÇÆäÖÐ×îÍ·ÌÛµÄÎÊÌâÖ®Ò»¡£glibcΪ½â¾öÄÚ´æ´íÎóÌṩÁËÁ½ÖÖ·½°¸£º
Ò»ÖÖÊÇhookÄÚ´æ¹ÜÀíº¯Êý¡£hookÄÚ´æ¹ÜÀíº¯Êýºó£¬Äã¿ÉÒÔͨ¹ý¼ÇÏÂÄÚ´æ·ÖÅäµÄÀúÊ·¼Ç¼£¬ÔÚ³ÌÐòÖÕֹʱ²é¿´ÊÇ·ñÓÐÄÚ´æÐ¹Â¶£¬ÕâÑù¾Í¿ÉÒÔÕÒ³öÄÚ´æÐ¹Â¶µÄµØ·½ÁË¡£ÄãÒ²¿ÉÒÔͨ¹ýÔÚËù·ÖÅäÄÚ´æµÄÊ×βдÈëÌØÊâµÄ±êÖ¾£¬ÔÚÊÍ·ÅÄÚ´æÊ±¼ì²é¸Ã±êÖ¾ÊÇ·ñ±»ÆÆ»µÁË£¬ÕâÑù¾Í¿ÉÒÔ´ïµ½¼ì²éÄÚ´æÔ½½çÎÊÌâµÄÄ¿µÄ¡£
ÁíÍâÒ»ÖÖ·½·¨¸ü¼òµ¥£¬glibcÒѾ­ÎªµÚÒ»ÖÖ·½°¸ÌṩÁËĬÈϵÄʵÏÖ£¬ÄãÒª×öµÄÖ»ÊÇÔÚÌØ¶¨µÄλÖõ÷ÓÃmtrace/muntraceÁ½¸öº¯Êý£¬ËüÃǵĺ¯ÊýÔ­ÐÍÈçÏ£º
#include
void mtrace(void);
void muntrace(void);
Äã¿ÉÄÜ»áÎÊ£¬ÔÚÄÄÀïµ÷ÕâÁ½ÖÖº¯Êý×îºÃ£¿ÕâûÓй̶¨µÄ´ð°¸£¬ÒªÊÓ¾ßÌåÇé¿ö¶ø¶¨¡£¶ÔÓÚС³ÌÐòÀ´Ëµ£¬ÔÚ½øÈëmainʱµ÷ÓÃmtrace£¬ÔÚÍ˳ömainº¯Êýʱµ÷ÓÃmuntrace¡£¶ÔÓÚ´óÐÍÈí¼þ£¬ÕâÑù×ö¿ÉÄÜ»á¼Ç¼¹ý¶àµÄÐÅÏ¢£¬·ÖÎöÕâЩ¼Ç¼»á±È½ÏÂý£¬Õâʱ¿ÉÒÔÔÚÄãËù»³ÒÉ´úÂëµÄÁ½¶Ëµ÷Óá£
ÁíÍ⣬»¹ÐèÒªÉèÖÃÒ»¸ö»·¾³±äÁ¿MALLOC_TRACE£¬ËüÊÇÒ»¸öÎļþÃû£¬Òª±£Ö¤µ±Ç°Óû§ÓÐȨÏÞ´´½¨ºÍдÈë¸ÃÎļþ¡£glibcµÄÄÚ´æ¹ÜÀíÆ÷»á°ÑÄÚ´æ·ÖÅäµÄÀúÊ·ÐÅϢдÈëµ½MALLOC_TRACEÖ¸¶¨µÄÎļþÖС£
³ÌÐòÔËÐÐÍê±Ïºó£¬Ê¹ÓÃmtrace¹¤¾ß·ÖÎöÕâЩÄÚ´æ·ÖÅäÀúÊ·ÐÅÏ¢£¬¿ÉÒÔ²é³öÄÚ´æ´íÎóµÄλÖã¨mtraceÔÚglibc-utilsÈí¼þ°üÀï)¡£
2. strace
ÔÚ±à³Ìʱ£¬¼ì²éº¯ÊýµÄ·µ»ØÖµÊÇÒ»ÖÖºÃϰ¹ß¡£¶ÔÓÚÏñglibcµÈ±ê×¼CµÄº¯Êý£¬¹â¼ì²é·µ»ØÖµÊDz»¹»µÄ£¬»¹ÐèÒª¼ì²éerrnoµÄÖµ¡£ÕâÑùµÄ³ÌÐòÍùÍùÏÔµÃÈß³¤£¬²»¹»¼ò½à¡£Í¬Ê±Ò²¿ÉÄÜÊdzöÓÚ͵ÀÁµÄÔ­Òò£¬´ó¶àÊý³ÌÐòÀﲢûÓÐ×öÕâÑùµÄ¼ì²é¡£
ÕâÑùµÄ³ÌÐò£¬Ò»µ©³öÏÖ´íÎó£¬Óõ÷ÊÔÆ÷Ò»²½Ò»²½¶¨Î»´íÎó£¬È»ºóÏë·¨²é³ö´íÎóµÄÔ­Òò£¬Ò²ÊÇ¿ÉÒԵ쬲»¹ý±È½ÏÂé·³£¬¶Ôµ÷ÊÔÆ÷À´ËµÓÐЩ´ó²ÄСÓ㬲»Ì«¿ÉÈ¡¡£Õâʱ£¬ÓÃstraceÃüÁî¿ÉÄÜ»á¸


Ïà¹ØÎĵµ£º

linux ext2 Îļþϵͳ»Ö¸´±»É¾³ýµÄÎļþ

linux   ext2   Îļþϵͳ»Ö¸´±»É¾³ýµÄÎļþ   
    
  ·¢²¼ÈÕÆÚ£º2002-08-08   
  ÎÄÕÂÄÚÈÝ£º   
  ------------------------------------------------------------------------   
  --------   
  by   ......

´Ólinux¹âÅÌ×öyumÔ´

Yum£¨È«³ÆÎª Yellow dog Updater, Modified£©ÊÇÒ»¸öÔÚFedoraÖеÄshellǰ¶ËÈí¼þ°ü¹ÜÀíÆ÷¡£»ùÓÚrpm°ü¹ÜÀí£¬Äܹ»´ÓÖ¸¶¨µÄ·þÎñÆ÷×Ô¶¯ÏÂÔØRPM°ü²¢ÇÒ°²×°£¬¿ÉÒÔ×Ô¶¯´¦ÀíÒÀÀµÐÔ¹ØÏµ£¬²¢ÇÒÒ»´Î°²×°ËùÓÐÒÀÀµµÄÈíÌå°ü£¬ÎÞÐë·±ËöµØÒ»´Î´ÎÏÂÔØ¡¢°²×°¡£
ÏÂÃæ½éÉÜÒ»¸ö´Ó¹âÅÌ×öyumÔ´µÄСʵÑé
±¾ÊÔÑéʹÓÃCentOS-5.4-i386-bin,DVD.isoÈí¼þ° ......

Linux erron³£Á¿

#define EPERM            1      /* Operation not permitted */
#define ENOENT           2      /* No such file or directory */
#define ESRCH&nbs ......

linuxÌõ¼þ±äÁ¿Àý³Ì

#include
#include
pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER;
pthread_cond_t cond = PTHREAD_COND_INITIALIZER;
void *thread1(void *);
void *thread2(void *);
int i=1;
main(void)
{
pthread_t t_a;
pthread_t t_b;
pthread_create(&t_a,NULL,thread1,(void *)NULL) ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ