Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB
ÈÈÃűêÇ©£º c c# c++ asp asp.net linux php jsp java vb Python Ruby mysql sql access Sqlite sqlserver delphi javascript Oracle ajax wap mssql html css flash flex dreamweaver xml
 ×îÐÂÎÄÕ :

ʹÓà GDB µ÷ÊÔ Linux Èí¼þ

×÷Õߣºdio
email: hao@peng.com.cn
ÈÕÆÚ£º8/21/2001 1:00:47 PM
ÄÚÈÝ£º
±àÒë
ÔËÐÐ gdb
µ÷ÊԻỰʾÀý
ʹÓöϵã
¸ü¶à¶ÏµãºÍ¹Û²ìµã
Core Îļþ
¶ÑÕ»¸ú×Ù
Á¬½Óµ½ÆäËü½ø³Ì
ÆäËüС¼¼ÇÉ
½áÊøÓï
²Î¿¼×ÊÁÏ
¹ØÓÚ×÷Õß
GNU µ÷ÊÔÆ÷¼ò½é
×÷Õß:David Seager
Linux µÄ´ó²¿·ÖÌØÉ«Ô´×ÔÓÚ shell µÄ GNU µ÷ÊÔÆ÷£¬Ò²³Æ×÷ gdb¡£gdb ¿ÉÒÔÈÃÄú²é¿´³ÌÐòµÄÄÚ²¿½á¹¹¡¢´òÓ¡±äÁ¿Öµ¡¢ÉèÖöϵ㣬ÒÔ¼°µ¥²½µ÷ÊÔÔ´´úÂë¡£ËüÊǹ¦Äܼ«ÆäÇ¿´óµÄ¹¤¾ß£¬ÊÊÓÃÓÚÐÞ¸´³ÌÐò´úÂëÖеÄÎÊÌâ¡£ÔÚ±¾ÎÄÖУ¬ÎÒ½«³¢ÊÔ˵Ã÷ gdb Óжà°ô£¬¶àʵÓá£
±àÒë
¿ªÊ¼µ÷ÊÔ֮ǰ£¬±ØÐëÓóÌÐòÖеĵ÷ÊÔÐÅÏ¢±àÒëÒªµ÷ÊԵijÌÐò¡£ÕâÑù£¬gdb ²ÅÄܹ»µ÷ÊÔËùʹÓõıäÁ¿¡¢´úÂëÐкͺ¯Êý¡£Èç¹ûÒª½øÐбàÒ룬ÇëÔÚ gcc£¨»ò g++£©ÏÂʹÓöîÍâµÄ -g Ñ¡ÏîÀ´±àÒë³ÌÐò£º
gcc -g eg.c -o eg
ÔËÐÐ gdb
ÔÚ shell ÖУ¬¿ÉÒÔʹÓà gdb ÃüÁî²¢Ö¸¶¨³ÌÐòÃû×÷Ϊ²ÎÊýÀ´ÔËÐÐ gdb£¬ÀýÈç gdb eg£»»òÕßÔÚ gdb ÖУ¬¿ÉÒÔʹÓà file ÃüÁîÀ´×°ÈëÒªµ÷ÊԵijÌÐò£¬ÀýÈç file eg¡£ÕâÁ½ÖÖ·½Ê½¶¼¼ÙÉèÄúÊÇÔÚ°üº¬³ÌÐòµÄĿ¼ÖÐÖ´ÐÐÃüÁî¡£×°Èë³ÌÐòÖ®ºó£¬¿ÉÒÔÓà gdb ÃüÁî un À´Æô¶¯³ÌÐò¡£
µ÷ÊԻỰʾÀý
Èç¹ûÒ»ÇÐÕý³££¬³ÌÐò½«Ö´Ðе½½áÊø£¬´Ëʱ gdb ½«ÖØÐ»ñµÃ¿ ......

linux »ù±¾ÃüÁî

ʹÓÃTAB¼ü
ÓÃÊó±ê¿½±´ºÍÕ³ÌùÌá¸ß²Ù×÷ËÙ¶È     ×ó¼üÍ϶¯---¿½±´    Öмüµã»÷---Õ³Ìù
1¡¢mkdir ½¨Á¢ÐÂĿ¼Ãû    ¼Ó“." ÔÚĿ¼ÃûǰΪÒþ²ØÄ¿Â¼£¨ls -a¿É²é¿´£©
     rm -rf Ŀ¼Ãû   ɾ³ýĿ¼¼°×ÓĿ¼  rm -- -eeɾ³ý-eeÎļþ  »òÕß rm "ÎļþÃû"

2¡¢mv ÀÏÎļþÃû ÐÂÎļþÃû   ¸Ä±äÎļþ/Ŀ¼Ãû×Ö
     cp  ÀÏÎļþÃû ÐÂÎļþÃû   ¸´ÖÆÄ¿Â¼   -R£¨¸´ÖÆÄ¿Â¼£©
3¡¢halt  ¹Ø»ú   reboot ÖØÆð
4¡¢mount (-t iso9660) /dev/cdrom /mnt/cdrom À¨ºÅÀïΪָ¶¨ÎļþÀàÐÍ£¬Ò»°ã¿É²»Óã¬linuxÒ»°ã»á×Ô¶¯Ê¶±ðÎļþÀàÐÍ
     umount /mnt/cdrom »ò umount /dev/cdrom  ÔÚÈ¡³ö¹âÅÌ»òÈíÅÌʱ£¬±ØÐëÏÈÔËÐÐÕâÌõÖ¸Áî
5¡¢¹ÜµÀÃüÁ
      “|”   ls /dev | more /devĿ¼µÄÎļþÒ»Ò³²»ÄÜÏÔʾÍ꣬more¿ÉÒÔ¶àÒ³ÏÔʾÍê
      ÓÃÎļþ¼Ç¼ls /dev µÄËùÓнá¹û
     ls /dev >file.txt   Ŀ¼ÀïûÓÐfile.txt Ôò»á´´½¨Ò»¸öfile.txtÎļþ£¬Ä¿Â¼ÀïÓеϰÔò»á¸²¸Çfile.txt
 &nb ......

linuxϵÄumask( )º¯Êý¡¢setsid( )º¯Êý

       umask()º¯Êý£º´Ëº¯ÊýµÄÖ÷Òª×÷ÓÃÊÇÔÚ´´½¨ÎļþʱÉèÖûòÕ߯Á±ÎµôÎļþµÄһЩȨÏÞ¡£Ò»°ãÓëopen()º¯ÊýÅäºÏʹÓá£openº¯ÊýÔ­ÐÍ£º
#include<sys/types.h>
#include<sys/stat.h>
#include<fcntl.h>
int open( const char * pathname, int flags);
int open( const char * pathname,int flags, mode_t mode);
µ±´´½¨Ò»¸öÎļþ²¢ÇÒÒªÃ÷È·Ö¸¶¨´ËÎļþµÄȨÏÞʱ£¬Ó¦¸ÃʹÓõڶþ¸öopen()º¯Êý£¬Ã÷È·Ö¸¶¨mode²ÎÊý£¬Ëù´´½¨µÄÎļþ×îºóµÄȨÏÞÊÇ£ºmode&(~mask)¡£Ä¬ÈϵÄmaskÖµÊÇ£º022
Àý£º
int main()
{
    int fd;
    umask(0026);
    fd = open("test.txt",O_RDWR | O_CREAT,0666);
    if(fd < 0)
        perror("open");
    return 0;
}
ÔòÉú³ÉµÄtest.txtÎļþµÄȨÏÞÊÇ£º666&(~026)½á¹ûÊÇ£º-rw-r--r--¡£Èç¹ûûÓÐumask(0026);ÕâÌõÓï¾ä£¬ÔòÉú³ÉµÄtest.txtÎļþµÄȨÏÞÊÇ£º666&(~022)½á¹ûÊÇ£º-rw-r-----¡£×¢£ºopenº¯ÊýµÄmode²ÎÊýÖ»ÓÐÔÚ´´½¨Îļþʱ²ÅÓÐЧ¡£
      ......

Linux±à³Ì:getopt_long¼°ÆäʹÓÃ

LinuxϵͳÏ£¬ÐèÒª´óÁ¿µÄÃüÁîÐÐÑ¡ÏÈç¹û×Ô¼ºÊÖ¶¯½âÎöËûÃǵĻ°ÊµÔÚÊÇÓÐÎ¥Èí¼þ¸´ÓõÄ˼Ï룬²»¹ý»¹ºÃ£¬GNU C libraryÁô¸øÎÒÃÇÒ»¸ö½âÎöÃüÁîÐеĽӿÚ(X/Open¹æ·¶)£¬ºÃºÃʹÓÃËü¿ÉÒÔʹÄãµÄ³ÌÐò¸Ä¹Û²»ÉÙ¡£
ʹÓÃgetopt_long()ÐèÒªÒýÈëÍ·Îļþ
#include <getopt.h>
     ÏÖÔÚÎÒÃÇʹÓÃÒ»¸öÀý×ÓÀ´ËµÃ÷ËüµÄʹÓá£
Ò»¸öÓ¦ÓóÌÐòÐèÒªÈçϵĶÌÑ¡ÏîºÍ³¤Ñ¡Ïî¡£
      ¶ÌÑ¡Ïî               ³¤Ñ¡Ïî                           ×÷ÓÃ
      -h                      --help                           Êä³ö³ÌÐòÃüÁîÐвÎÊý˵Ã÷È»ºóÍ˳ö
&nbs ......

ѧϰLinux(zhuan)

Ëæ×ÅLinuxÓ¦ÓõÄÀ©Õ¹Ðí¶àÅóÓÑ¿ªÊ¼½Ó´¥Linux£¬¸ù¾ÝѧϰWindwosµÄ¾­ÑéÍùÍùÓÐһЩãȻµÄ¸Ð¾õ£º²»Öª´ÓºÎ´¦¿ªÊ¼Ñ§Æð¡£ÕâÀï½éÉÜѧϰLinuxµÄһЩ½¨Òé¡£
Ò»¡¢´Ó»ù´¡¿ªÊ¼£º ³£³£ÓÐЩÅóÓÑÔÚLinuxÂÛ̳ÎÊһЩÎÊÌ⣬²»¹ý£¬ÆäÖдó¶àÊýµÄÎÊÌâ¶¼ÊǺܻù´¡µÄ¡£ÀýÈ磺ΪʲôÎÒʹÓÃÒ»¸öÃüÁîµÄʱºò£¬ÏµÍ³¸æËßÎÒÕÒ²»µ½¸ÃĿ¼£¬ÎÒÒªÈçºÎÏÞÖÆÊ¹ÓÃÕßµÄȨÏÞµÈÎÊÌ⣬ÕâЩÎÊÌâÆäʵ¶¼²»ÊǺÜÄѵģ¬Ö»ÒªÁ˽âÁË Linux µÄ»ù´¡Ö®ºó£¬Ó¦¸Ã¾Í¿ÉÒÔºÜÇáÒ׵Ľâ¾öµôÕâ·½ÃæµÄÎÊÌâ¡£¶øÓÐЩÅóÓÑÃdz£³£Ò»½Ó´¥Linux ¾ÍÊÇÏ£Íû¹¹¼ÜÍøÕ¾£¬¸ù±¾Ã»ÓÐÏëµ½ÒªÏÈÁ˽âÒ»ÏÂLinux µÄ»ù´¡¡£ÕâÊÇÏ൱À§Äѵġ£
¶þ¡¢LinuxÃüÁîÊDZØÐëѧϰ ËäÈ»Linux×ÀÃæÓ¦Ó÷¢Õ¹ºÜ¿ì£¬µ«ÊÇÃüÁîÔÚLinuxÖÐÒÀÈ»ÓкÜÇ¿µÄÉúÃüÁ¦¡£LinuxÊÇÒ»¸öÃüÁîÐÐ×é³ÉµÄ²Ù×÷ϵͳ,¾«ËèÔÚÃüÁîÐУ¬ÎÞÂÛͼÐνçÃæ·¢Õ¹µ½Ê²Ã´Ë®Æ½Õâ¸öÔ­ÀíÊDz»»á±äµÄ£¬LinuxÃüÁîÓÐÐí¶àÇ¿´óµÄ¹¦ÄÜ£º´Ó¼òµ¥µÄ´ÅÅ̲Ù×÷¡¢Îļþ´æÈ¡¡¢µ½½øÐи´ÔӵĶàýÌåͼÏóºÍÁ÷ýÌåÎļþµÄÖÆ×÷¡£¾ÙÒ»¸öÀý×Ó:LinuxµÄ³£ÓÃÃüÁîfind,²ì¿´manÎĵµ,³õѧÕßÒ»¶¨»á¾õµÃÌ«¸´ÔÓ¶ø²»Ô­ÒâÓÃ,µ«ÊÇÄãÒ»µ©Ñ§»á¾Í°®²»ÊÍÊÖ.ËüµÄ¹¦ÄÜʵÔÚ̫ǿÁË,ÔÚÅäºÏexec²ÎÊý»òÕßͨ¹ý¹ÜµÀÖØ¶¨Ïòµ½xargsÃüÁîºÍgrepÃüÁî,¿ÉÒÔÍê³É·Ç³£¸´ÔӵIJÙ×÷,Èç¹ûͬÑùµÄ ......

linux ¶¯Ì¬¼ÓÔØ ¶¯Ì¬Á´½Ó¿â

¶¯Ì¬¿âµÄÏÔʽµ÷ÓÃ
ÏÔʽµ÷Óõĺ¬ÒåÊÇ´úÂë³öÏÖ¿âÎļþÃû£¬Óû§ÐèÒª×Ô¼ºÈ¥
´ò¿ªºÍ¹ÜÀí¿âÎļþ¡£ÆäÒªµãΪ:
¢Å°Ñdlfcn.hϵͳͷÎļþ°üº¬½øÀ´
¢ÆÓÃdlopenº¯Êý´ò¿ª¿âÎļþ£¬²¢Ö¸¶¨´ò¿ª·½Ê½
dllopeµÄµÄµÚÒ»¸ö²ÎÊýΪ¹²Ïí¿âµÄÃû³Æ£¬½«»áÔÚÏÂÃæÎ»ÖòéÕÒÖ¸¶¨µÄ¹²Ïí¿â¡£
   ¢Ù»·¾³±äÁ¿LD_LIBRARY_PATHÁгöµÄÓ÷ֺżä¸ôµÄËùÓÐĿ¼¡£
   ¢ÚÎļþ/etc/ld.so.cacheÖÐÕÒµ½µÄ¿âµÄÁÐ±í£¬ÓÉldconfigÃüÁîˢС£
   ¢ÛĿ¼usr/lib¡£
   ¢ÜĿ¼/lib¡£
   ¢Ýµ±Ç°Ä¿Â¼¡£
µÚ¶þ¸ö²ÎÊýΪ´ò¿ª¹²Ïí¿âµÄ·½Ê½¡£ÓÐÁ½¸öȡֵ
   ¢ÙRTLD_NOW£º½«¹²Ïí¿âÖеÄËùÓк¯Êý¼ÓÔØµ½ÄÚ´æ
   ¢ÚRTLD_LAZY£º»áÍÆºó¹²Ïí¿âÖеĺ¯ÊýµÄ¼ÓÔØ²Ù×÷£¬Ö±µ½µ÷ÓÃdlsym()ʱ·½¼ÓÔØÄ³º¯Êý
¢ÇÓÃdlerror()º¯Êý²âÊÔÊÇ·ñ´ò¿ª³É¹¦£¬²¢½øÐдíÎó´¦Àí;
¢ÈÓÃdlsym»ñµÃº¯ÊýµØÖ·,´æ·ÅÔÚÒ»¸öº¯ÊýÖ¸ÕëÖÐ
¢ÉÓûñµÃµÄº¯ÊýÖ¸Õë½øÐк¯Êýµ÷Óá£
¢Ê³ÌÐò½áÊøÊ±ÓÃdlclose¹Ø±Õ´ò¿ªµÄ¶¯Ì¬¿â£¬·ÀÖ¹×ÊԴй¶¡£
¢ËÓÃldconfig¹¤¾ß°Ñ¶¯Ì¬¿âµÄ·¾¶¼Óµ½ÏµÍ³¿âÁбíÖÐ
1¡¢±àд²âÊÔÎļþ
//main.c ²âÊÔ¶¯Ì¬¿âÏÔʽµ÷ÓõijÌÐò
#include<dlfcn.h>&n ......
×ܼǼÊý:40319; ×ÜÒ³Êý:6720; ÿҳ6 Ìõ; Ê×Ò³ ÉÏÒ»Ò³ [2230] [2231] [2232] [2233] 2234 [2235] [2236] [2237] [2238] [2239]  ÏÂÒ»Ò³ βҳ
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ