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ÃüÁî¿ÉÄÜ»á¸ü
Ïà¹ØÎĵµ£º
£¨L2CAPÐÒé¼ò½é£¬L2CAPÔÚBlueZÖеÄʵÏÖÒÔ¼°L2CAP±à³Ì½Ó¿Ú£©
Ò»£ºL2CAPÐÒé¼ò½é£º
Logical Link Control and Adaptation Protocol(L2CAP)
Âß¼Á¬½Ó¿ØÖƺÍÊÊÅäÐÒé (L2CAP) ΪÉϲãÐÒéÌá¹©ÃæÏòÁ¬½ÓºÍÎÞÁ¬½ÓµÄÊý¾Ý·þÎñ£¬²¢Ìṩ¶àÐÒ鹦ÄܺͷָîÖØ×é²Ù×÷¡£L2CAP ³äÐíÉϲãÐÒéºÍÓ¦ÓÃÈí¼þ´«ÊäºÍ½ÓÊÕ×î´ó³¤¶ÈΪ 64K µÄ L2CAP Ê ......
ÀýÒ»£º·¢ËÍSignaling Packet£º
Signaling CommandÊÇ2¸öBluetoothʵÌåÖ®¼äµÄL2CAP²ãÃüÁî´«Êä¡£ËùÒÔµÃSignaling CommandʹÓÃCID 0x0001.
¶à¸öCommand¿ÉÒÔÔÚÒ»¸öC-frame£¨control frame£©Öз¢ËÍ¡£
Èç¹ûÒªÖ±½Ó·¢ËÍSignaling Command.ÐèÒª½¨Á¢SOCK_RAWÀàÐ͵ÄL2CAPÁ¬½ÓSocket¡£ÕâÑù²ÅÓлú»á×Ô¼ºÌî³äCommand Code£¬Identi ......
ÔÎÄÍøÖ·£ºhttp://group.ednchina.com/1036/21283.aspx
RCU»úÖÆÊÇLinux2.6Ö®ºóÌṩµÄÒ»ÖÖÊý¾ÝÒ»ÖÂÐÔ·ÃÎʵĻúÖÆ£¬´ÓRCU£¨read-copy-update£©µÄÃû³ÆÉÏ¿´£¬ÎÒÃǾÍÄܶÔËûµÄʵÏÖ»úÖÆÓÐÒ»¸ö´ó¸ÅµÄÁ˽⣬ÔÚÐÞ¸ÄÊý¾ÝµÄʱºò£¬Ê×ÏÈÐèÒª¶ÁÈ¡Êý¾Ý£¬È»ºóÉú³ÉÒ»¸ö¸±±¾£¬¶Ô¸±±¾½øÐÐÐ޸ģ¬ÐÞ¸ÄÍê³ÉÖ®ºóÔÙ½«ÀÏÊý¾Ýupdate³ÉеÄÊý¾Ý£¬´ ......
JDK°æ±¾£ºjdk1.6.0_17
a. ÏÂÔØ°²×°°üjdk-6u17-linux-i586-rpm.bin
b. cp jdk-6u17-linux-i586-rpm.bin /usr/local/
c. chmod a+x jdk-6u17-linux-i586-rpm.bin
d. sh jdk-6u17-linux-i586-rpm.bin ½ÓÊÜÐÒéyes£¬°²×°Íê³É
e. ÉèÖû·¾³±äÁ¿
vi /etc/profile
¼ÓÈëÏÂÃæÄÚÈÝ£º
#set java environment
JAVA_HOME=/ ......
ÉîÈëÀí½âlinuxϵͳµ÷ÓÃÓëʹÓÃÖ®ÕûÀíÆª
Ò»¡¢ ʲôÊÇϵͳµ÷ÓÃ
ÔÚLinuxµÄÊÀ½çÀÎÒÃǾ³£»áÓöµ½ÏµÍ³µ÷ÓÃÕâÒ»ÊõÓËùνϵͳµ÷Ó㬾ÍÊÇÄÚºËÌṩµÄ¡¢¹¦ÄÜÊ®·ÖÇ¿´óµÄһϵÁеĺ¯Êý¡£ÕâЩϵͳµ÷ÓÃÊÇÔÚÄÚºËÖÐʵÏֵģ¬ÔÙͨ¹ýÒ»¶¨µÄ·½Ê½°Ñϵͳµ÷ÓøøÓû§£¬Ò»°ã¶¼Í¨¹ýÃÅ(gate)ÏÝÈë(trap)ʵÏÖ¡£ÏµÍ³µ ......