linux strace ½ø³Ì¸ú×Ù
linux strace ½ø³Ì¸ú×Ù
µ÷ÓÃ:
strace [ -dffhiqrtttTvxx ] [ -acolumn ] [ -eexpr ] ...
[ -ofile ] [ -ppid ] ... [ -sstrsize ] [ -uusername ] [ command [ arg ... ] ]
strace -c [ -eexpr ] ... [ -Ooverhead ] [ -Ssortby ] [ command [ arg ... ] ]
¹¦ÄÜ:
¸ú×Ù³ÌʽִÐÐʱµÄϵͳµ÷ÓúÍËù½ÓÊÕµÄÐźÅ.ͨ³£µÄÓ÷¨ÊÇstraceÖ´ÐÐÒ»Ö±µ½commande½áÊø.
²¢ÇÒ½«Ëùµ÷ÓõÄϵͳµ÷ÓõÄÃû³Æ¡¢²ÎÊýºÍ·µ»ØÖµÊä³öµ½±ê×¼Êä³ö»òÕßÊä³öµ½-oÖ¸¶¨µÄÎļþ.
straceÊÇÒ»¸ö¹¦ÄÜÇ¿´óµÄµ÷ÊÔ,·ÖÎöÕï¶Ï¹¤¾ß.Ä㽫·¢ÏÖËûÊÇÒ»¸ö¼«ºÃµÄ°ïÊÖÔÚÄãÒªµ÷ÊÔÒ»¸öÎÞ·¨¿´µ½Ô´Âë»òÕßÔ´ÂëÎÞ·¨ÔÚ±àÒëµÄ³ÌÐò.
Ä㽫ÇáËɵÄѧϰµ½Ò»¸öÈí¼þÊÇÈçºÎͨ¹ýϵͳµ÷ÓÃÀ´ÊµÏÖËûµÄ¹¦ÄܵÄ.¶øÇÒ×÷Ϊһ¸ö³ÌÐòÉè¼ÆÊ¦,Äã¿ÉÒÔÁ˽⵽ÔÚÓû§Ì¬ºÍÄÚºË̬ÊÇÈçºÎͨ¹ýϵͳµ÷ÓúÍÐźÅÀ´ÊµÏÖ³ÌÐòµÄ¹¦ÄܵÄ.
straceµÄÿһÐÐÊä³ö°üÀ¨ÏµÍ³µ÷ÓÃÃû³Æ,È»ºóÊDzÎÊýºÍ·µ»ØÖµ.Õâ¸öÀý×Ó:
strace cat /dev/null
ËûµÄÊä³ö»áÓÐ:
open("/dev/null",O_RDONLY) = 3
ÓдíÎó²úÉúʱ,Ò»°ã»á·µ»Ø-1.ËùÒÔ»áÓдíÎó±êÖ¾ºÍÃèÊö:
open("/foor/bar",)_RDONLY) = -1 ENOENT (no such file or directory)
ÐźŽ«Êä³öιÐźűêÖ¾ºÍÐźŵÄÃèÊö.¸ú×Ù²¢ÖжÏÕâ¸öÃüÁî"sleep 600":
sigsuspend({}
--- SIGINT (Interrupt) ---
+++ killed by SIGINT +++
²ÎÊýµÄÊä³öÓÐЩ²»Ò»ÖÂ.ÈçshellÃüÁîÖÐµÄ ">>tmp",½«Êä³ö:
open("tmp",O_WRONLY|O_APPEND|A_CREAT,0666) = 3
¶ÔÓڽṹָÕë,½«½øÐÐÊʵ±µÄÏÔʾ.Èç:"ls -l /dev/null":
lstat("/dev/null",{st_mode=S_IFCHR|0666},st_rdev=makdev[1,3],...}) = 0
Çë×¢Òâ"struct stat" µÄÉùÃ÷ºÍÕâÀïµÄÊä³ö.lstatµÄµÚÒ»¸ö²ÎÊýÊÇÊäÈë²ÎÊý,¶øµÚ¶þ¸ö²ÎÊýÊÇÏòÍâ´«Öµ.
µ±Äã³¢ÊÔ"ls -l" Ò»¸ö²»´æÔÚµÄÎļþʱ,»áÓÐ:
lstat(/foot/ball",0xb004) = -1 ENOENT (no such file or directory)
char*½«×÷ΪCµÄ×Ö·û´®ÀàÐÍÊä³ö.ûÓÐ×Ö·û´®Êä³öʱһ°ãÊÇchar* ÊÇÒ»¸öתÒå×Ö·û,Ö»Êä³ö×Ö·û´®µÄ³¤¶È.
µ±×Ö·û´®¹ý³¤ÊÇ»áʹÓÃ"..."Ê¡ÂÔ.ÈçÔÚ"ls -l"»áÓÐÒ»¸ögepwuidµ÷ÓöÁÈ¡passwordÎļþ:
read(3,"root::0:0:System Administrator:/"...,1024) = 422
µ±²ÎÊýÊǽṹÊý×éʱ,½«°´ÕÕ¼òµ¥µÄÖ¸ÕëºÍÊý×éÊä³öÈç:
getgro
Ïà¹ØÎĵµ£º
¡¡Ò»¡¢ÒýÑÔ
¡¡¡¡ÏëʹÓÃLinuxÒѾºÜ³¤Ê±¼äÁË£¬ÓÉÓÚûÓÐÓ²ÐÔÈÎÎñһֱҲûÓÐϵͳѧϰ£¬½üÈÕÓÉÓÚ¹¤×÷ÐèÒª±ØÐëʹÓÃLinuxϵÄMySQL¡£±¾ÒÔΪÓÐ
WindowsÏÂʹÓÃSQL
ServerµÄ¾Ñ飬¾õµÃÔÚLinuxϰ²×°MySqlÓ¦¸ÃÊÇÒ×Èç·´ÕÆµÄÊ£¬¿ÉÔÚÕæÕý°²×°ºÍʹÓÃMySQLʱ×ßÁ˺ܶàÍä·£¬Óö¼ûºÜ¶àÎÊÌ⣬±Ï¾¹Linux
ºÍWindows±¾Éí¾ÍÓкܴóÇø±ð¡£ÎªÁËÈà ......
Linux»·¾³½ø³Ì¼äͨÐÅ£¨Ò»£©¹ÜµÀºÍÓÐÃû¹ÜµÀ
ÔÚ±¾ÏµÁÐÐòÖÐ×÷Õ߸ÅÊöÁË linux ½ø³Ì¼äͨÐŵļ¸ÖÖÖ÷ÒªÊֶΡ£ÆäÖйܵÀºÍÓÐÃû¹ÜµÀÊÇ×îÔçµÄ½ø³Ì¼äͨÐÅ»úÖÆÖ®Ò»£¬¹ÜµÀ¿ÉÓÃÓÚ¾ßÓÐÇ×Ôµ¹ØÏµ½ø³Ì¼äµÄͨÐÅ£¬ÓÐÃû¹ÜµÀ¿Ë·þÁ˹ܵÀûÓÐÃû×ÖµÄÏÞÖÆ£¬Òò´Ë£¬³ý¾ßÓйܵÀËù¾ßÓеŦÄÜÍ⣬Ëü»¹ÔÊÐíÎÞÇ×Ôµ¹ØÏµ½ø³Ì¼äµÄͨÐÅ¡£ ÈÏÇå¹ÜµÀºÍÓÐÃû¹ÜµÀµÄ¶ÁÐ ......
ÍêÈ«ÓÃLinux¹¤×÷£¬±÷ÆúWindows(ÍõÛó)
ÍêÈ«ÓÃLinux¹¤×÷£¬±÷ÆúWindows
×÷ÕߣºÍõÛó
ÎÒÒѾ°ëÄêûÓÐʹÓà Windows µÄ·½Ê½¹¤×÷ÁË¡£Linux ¸ßЧµÄÍê³ÉÁËÎÒËùÓеŤ×÷¡£
GNU/Linux ²»ÊÇÿ¸öÈ˶¼ÏëÓõġ£Èç¹ûÄãÖ»ÐèÒª´¦ÀíÒ»°ãµÄÊÂÎñ£¬´òÓÎÏ·£¬ÄÇôÄã²»ÐèÒªÁ˽âÏÂÃæÕâЩÁË¡£
ÎÒ²»ÊÇÒ»¸ö¿ñÈȵÄ×ÔÓÉÈí¼þ·Ý×Ó£¬ËäÈ»ÎÒºÜϲ»¶×ÔÓÉ ......
ÏÖÔÚ´ó¶àÊý¸ßËÙÎÞÏßÉÏÍø¿¨¶¼ÄÚÖô洢¿Õ¼ä£¬ÓÃÓÚ´æ´¢Çý¶¯³ÌÐòºÍ²¦ºÅÈí¼þµÈ¡£µ±Ê״ν«ÕâÖÖÉ豸²åÈëUSB½Ó¿Úʱ£¬¸ÃÉ豸±»Ê¶±ðΪCD£ROM£¬Çý¶¯³ÌÐòºÍ²¦
ºÅÈí¼þ¾ÍÔÚÆäÖС£µ±°²×°ÍêÍø¿¨µÄÇý¶¯³ÌÐòºó£¬Ôٴν«Æä²åÈëʱ£¬Ôò±»Ê¶±ðΪModemµÈÉ豸£¬ÎÒµÄÕâ¸öÍø¿¨»¹¿ÉÒÔ²åMicro-SD¿¨£¬Í¬Ê±×÷UÅÌÓá£ÒÔÉÏ
ÕâЩºÃÏñ³ÆÎªZeroCD¼¼Êõ¡£
ÔÚÉÏ ......