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
Ïà¹ØÎĵµ£º
ÍøÉϹØÓÚÖÐÎÄÊäÈëµÄÎÄÕºܶ࣬´Ë´¦Ö»ÊÇÏëÊèÀíһϼ¸¸ö¸ÅÄî¡£
1¡£ÊäÈ뷨ƽ̨£º
windowsÏÂÊäÈë·¨ÓëÊäÈ뷨ƽ̨ºÃÏñÊÇ·Ö²»ÇåµÄ£¬¶øÔÚLinuxÏÂËûÃǵĸÅÄÊÇ·Ö¿ªµÄºÃ£¬ÊäÈ뷨ƽ̨ÊÇÊäÈë·¨µÄ»ù´¡£¬ÓÐʱºòÄã°²×°ÁËij¸öÊäÈë·¨£¬È´ÔõôҲµ÷²»³öÀ´£¬ÔòÓпÉÄܾÍÊÇËüËùÐèÒªµÄƽ̨»¹Ã»Óн¨Á¢¡£
¼¸¸öÊäÈ뷨ƽ̨£º
xcin£¨x-ChineseInpu ......
# 0 - Í£»ú£¨Ç§Íò²»Òª°ÑinitdefaultÉèÖÃΪ0 £©
# 1 - µ¥Óû§Ä£Ê½
# 2 - ¶àÓû§£¬µ«ÊÇûÓÐNFS
# 3 - ÍêÈ«¶àÓû§Ä£Ê½
# 4 - ûÓÐÓõ½
# 5 - X11
# 6 - ÖØÐÂÆô¶¯£¨Ç§Íò²»Òª°ÑinitdefaultÉèÖÃΪ6 £©
# ¶Ô¸÷¸öÔËÐм¶µÄÏêϸ½âÊÍ£º
0 Ϊͣ»ú£¬»úÆ÷¹Ø±Õ¡£
1 Ϊµ¥Óû§Ä£Ê½£¬¾ÍÏñWin9xϵݲȫģʽÀàËÆ¡£
2 Ϊ¶àÓû§Ä£Ê½£¬µ ......
Trace32-ICDÊÇĿǰ¹¦ÄÜ×îÇ¿´óµÄ·ÂÕæÆ÷£¬Ö§³Ö¸÷ÖÖCPU£¬°üÀ¨ARM/X86µÈ¡£Trace32Êǵ¹úlauterbach¹«Ë¾µÄ²úÆ·£¬¹¦ÄÜÇ¿´ó£¬Ö§³Ö¸÷ÖÖ²Ù×÷ϵͳµ÷ÊÔ£¬Èçlinux/vxworks/winceµÈ£¬²»¹ý¼Û¸ñÒ²±È½Ï¸ß£¬Òª3-5ÍòRMB£¬ÏÖÔÚÒ²ÓÐЩ·ÂÖÆµÄTrace£¨ÈçTrace32-ICP£©£¬¼Û¸ñ±È½Ï±ãÒË£¬´ó¸Å1Íò¶àRMB¡£Trace32ÓÉÓÚÆä¹¦ÄÜÇ¿´ó£¬ÌرðÊʺϴóÐÍÇ¶È ......
linuxÖеĴ󲿷ÖÇý¶¯³ÌÐò,ÊÇÒÔÄ£¿éµÄÐÎʽ±àдµÄ.ÕâЩÇý¶¯³ÌÐòÔ´Âë¿ÉÒÔÐ޸ĵ½ÄÚºËÖÐ,Ò²¿ÉÒÔ°ÑËûÃDZàÒë³ÉÄ£¿éÐÎÊÆ,ÔÚÐèÒªµÄʱºò¶¯Ì¬¼ÓÔØ.
Ò»¸öµäÐ͵ÄÇý¶¯³ÌÐò,´óÌåÉÏ¿ÉÒÔ·ÖΪÕâô¼¸¸ö²¿·Ö:
1¡¢×¢²áÉ豸
ÔÚϵͳ³õÆô,»òÕßÄ£¿é¼ÓÔØÊ±ºò,±ØÐ뽫É豸µÇ¼Çµ½ÏàÓ¦µÄÉ豸Êý×é,²¢·µ»ØÉ豸µÄÖ÷Çý¶¯ºÅ,ÀýÈç:¶Ô¿ìÉ豸À´Ëµµ÷ÓÃrefister_b ......
#1
¹ØÓÚǶÈëʽϵͳµÄÆô¶¯
(SHARE FOR ALL)
ǶÈëʽ
Linux
Æô¶¯·ÖΪÁ½¸ö²¿·Ö£¬ÏµÍ³Òýµ¼Óë
Linux
Æô¶¯¡£ÏµÍ³Òýµ¼½«Íê³É
Linux
×°ÈëÄÚ´æÇ°£¬³õʼ»¯
CPU
ºÍÏà¹Ø
IO
É豸£¬²¢½«
Linux
µ÷ÈëÄÚ´æµÄ¹¤×÷¡£ÏµÍ³Òýµ¼Ö÷ÒªÓÉ
BootLoader
ʵÏÖ¡£ÔÚ
BootLoader
½«
Linux
Äں˵÷ÈëÄÚ´æÖ®ºó£¬½«È¨Á¦½»¸ø
LinuxK ......