GDB ʹÓ×—Linux C±à³Ì
¼òÊö
Ò» ÁÐÎļþÇåµ¥
¶þ£ºÖ´ÐгÌÐò
Èý£ºÏÔʾÊý¾Ý
ËÄ£º¶Ïµã(breakpoint)
Î壮¶ÏµãµÄ¹ÜÀí
Áù£®±äÁ¿µÄ¼ì²éºÍ¸³Öµ
Æß. µ¥²½Ö´ÐÐ
°Ë£®º¯ÊýµÄµ÷ÓÃ
¾Å£®»úÆ÷ÓïÑÔ¹¤¾ß
Ê®£®ÐźÅ
GDBµÄʹÓ÷½·¨
¼òÊö
Ò» ÁÐÎļþÇåµ¥
* List
(gdb) list line1,line2
¶þ£ºÖ´ÐгÌÐò
ÒªÏëÔËÐÐ×¼±¸µ÷ÊԵijÌÐò£¬¿ÉʹÓÃrunÃüÁÔÚËüºóÃæ¿ÉÒÔ¸úËæ·¢¸ø¸Ã³ÌÐòµÄÈκβÎÊý£¬°üÀ¨±ê×¼ÊäÈëºÍ±ê×¼Êä³ö˵Ã÷·û(<ºÍ> )ºÍÍâ¿ÇͨÅä·û£¨*¡¢£¿¡¢[¡¢]£©ÔÚÄÚ¡£Èç¹ûÄãʹÓò»´ø²ÎÊýµÄrunÃüÁgdb¾ÍÔÙ´ÎʹÓÃÄã¸øÓèǰһÌõrunÃüÁîµÄ²ÎÊý£¬ÕâÊǺÜÓÐÓõġ£ÀûÓÃset args ÃüÁî¾Í¿ÉÒÔÐ޸ķ¢Ë͸ø³ÌÐòµÄ²ÎÊý£¬¶øÊ¹ÓÃshow args ÃüÁî¾Í¿ÉÒԲ鿴Æäȱʡ²ÎÊýµÄÁÐ±í¡£
£¨gdb£©set args –b –x
(gdb) show args
backtraceÃüÁîΪ¶ÑÕ»ÌṩÏòºó¸ú×Ù¹¦ÄÜ¡£
Backtrace ÃüÁî²úÉúÒ»ÕÅÁÐ±í£¬°üº¬×Å´Ó×î½üµÄ¹ý³Ì¿ªÊ¼µÄËùÒÔÓÐЧ¹ý³ÌºÍµ÷ÓÃÕâЩ¹ý³ÌµÄ²ÎÊý¡£
Èý£ºÏÔʾÊý¾Ý
* ÀûÓÃprint ÃüÁî¿ÉÒÔ¼ì²é¸÷¸ö±äÁ¿µÄÖµ¡£
(gdb) print p (pΪ±äÁ¿Ãû)
print ÊÇgdbµÄÒ»¸ö¹¦ÄܺÜÇ¿µÄÃüÁÀûÓÃËü¿ÉÒÔÏÔʾ±»µ÷ÊÔµÄÓïÑÔÖÐÈκÎÓÐЧµÄ±í´ïʽ¡£±í´ïʽ³ýÁ˰üº¬Äã³ÌÐòÖеıäÁ¿Í⣬»¹¿ÉÒÔ°üº¬ÒÔÏÂÄÚÈÝ£º
1. ¶Ô³ÌÐòÖк¯ÊýµÄµ÷ÓÃ
(gdb) print find_entry(1,0)
2. Êý¾Ý½á¹¹ºÍÆäËû¸´ÔÓ¶ÔÏó
(gdb) print *table_start
$8={e=reference=’\000’,location=0x0,next=0x0}
3. ÖµµÄÀúÊ·³É·Ö
(gdb)print $1 ($1ΪÀúÊ·¼Ç¼±äÁ¿,ÔÚÒÔºó¿ÉÒÔÖ±½ÓÒýÓà $1 µÄÖµ)
4. ÈËΪÊý×é
ÈËΪÊý×éÌṩÁËÒ»ÖÖÈ¥ÏÔʾ´æ´¢Æ÷¿é£¨Êý×é½Ú»ò¶¯Ì¬·ÖÅäµÄ´æ´¢Çø£©ÄÚÈݵķ½·¨¡£ÔçÆÚµÄµ÷ÊÔ³ÌÐòûÓкܺõķ½·¨½«ÈÎÒâµÄÖ¸Õë»»³ÉÒ»¸öÊý×é¡£¾ÍÏñ¶Ô´ý²ÎÊýÒ»Ñù£¬ÈÃÎÒÃDz鿴ÄÚ´æÖÐÔÚ±äÁ¿hºóÃæµÄ10¸öÕûÊý£¬Ò»¸ö¶¯Ì¬Êý×éµÄÓï·¨ÈçÏÂËùʾ£º
b
Ïà¹ØÎĵµ£º
±àÕß°´:·Ç³£»ù±¾¹ØÓÚCÓïÑÔµÄÎÊÌâ,Ò»¸öÐÅÏ¢Àà(¼ÆËã»ú,×ÊѶ¹¤³Ì,µç×Ó¹¤³Ì, ͨÐÅ
¹¤³Ì)רҵµÄ±¾¿Æ±ÏÒµÉúÓ¦¸Ã´ïµ½µÄˮƽ¡£ÌâÄ¿²»ÄÑ,È«²¿¶¼ÄÜ¿ìËٵشðÍ꣬µ±È»Ò²ÐèÒª
Ò»¶¨µÄ֪ʶ´¢±¸¡£
¶ÔÓÚ´ó¶àÊýÈË£¬ÎÒÃÇÔ¤ÆÚÄã¿ÉÄÜ´ð´í 1) 4) 15)Ì⣬ËùÒÔ´ð´í3µÀÒÔÄڵģ¬ÎÒÃÇÈÏΪ
ÄãºÜ°ô
´ð´í5µÀÌâÒÔ ......
Ç°Ãæ½²ÁËʹÓà ioctl·¢ËÍHCI CommandµÄ·½·¨¡£µ«HCI protocol»¹ÓÐһЩCommand£¬±ÈÈçInquiryµÈ£¬ËûÃÇÔò²»ÐèҪʹÓÃioctlÀ´·¢ËÍ¡£blueZ Ö±½ÓÌṩÁËÖ§³Ö£¬ËäÈ»ËûÃǵÄ×îÖÕ¶¼ÊÇÓÃͬÑù°ì·¨ÊµÏֵġ£
ÔÚÓ¦ÓóÌÐòÖУº
hci_inquiry(dev_id, length, num_rsp, NULL, &info, flags);
ÕâÑùÐèÒª°üº¬blueZ Í·ÎļþÈçÏ£º
#include //BT ......
Ê×ÏÈÒªÓÐÒ»¸öLinuxϵÄÖÕ¶ËÈí¼þ½Ðminicom¼ÙÈçûÓÐ×°Õâ¸öµÄÅóÓÑ¿ÉÒÔµ½×Ô¼ºµÄÔ´ÖÐÈ¥ÏÂÔØ£¬È»ºóÄã¾ÍÒª²åÉÏÄãµÄusbת´®¿ÚµÄÏߣ¬ÔÚLinuxÏÂUsbת´®¿ÚµÄÏß¼¸ºõ²»ÐèÒªÇý¶¯£¬Äã²åÉÏÒÔºóÔÚÄãµÄdevµÄĿ¼ÏÂÓ¦¸Ã»áÓÐÒ»¸öttyUSB0µÄÎļþ£¬¼ÙÈçÓÐÄÇô¹§Ï²ÄãÁË£¬ÄãµÄÕâ¸ùÏßÏÖÔÚÊÇ¿ÉÓõÄÁË¡£½øÈëµ½ÖÕ¶ËÊäÈësuÒÔrootÓû§½øÐеǼ£¬Ê¹ÓÃm ......
ÆäʵlinuxµÄºº»¯£¬ºÜ¼òµ¥
½øÈëÄãµÄxpϵͳÅÌ£¬È»ºó½øÈëwindows£¬½«ÄãµÄfontsÎļþ¼ÐÈ«²¿¸´ÖƵ½uÅÌÖУ¬½øÈëlinux£¬Ñ°ÕÒÄãµÄlinux×ÖÌåÔÚÄÇÀȻºó°ÑfontsµÄÄÚÈÝÈ«²¿¸´ÖƽøÈ¥
Èç¹û²»ÖªµÀlinuxµÄ×ÖÌåÔÚÄÄ£¿°´Èçϲ½Ö裺
½øÈëÖÕ¶Ë
ÊäÈë“locate £ª.ttf”£¨Èç¹ûlocate£¬²»ÄÜÓã¬ÊäÈë“updatedb”£¬»Ø³µ£¬µ ......
1.Linux“Ï߳̔
½ø³ÌÓëÏß³ÌÖ®¼äÊÇÓÐÇø±ðµÄ£¬²»¹ýLinuxÄÚºËÖ»ÌṩÁËÇáÁ¿½ø³ÌµÄÖ§³Ö£¬Î´ÊµÏÖÏß³ÌÄ£ÐÍ¡£LinuxÊÇÒ»ÖÖ“¶à½ø³Ìµ¥Ï߳̔µÄ²Ù×÷ϵͳ¡£Linux±¾ÉíÖ»Óнø³ÌµÄ¸ÅÄ¶øÆäËùνµÄ“Ï߳̔±¾ÖÊÉÏÔÚÄÚºËÀïÈÔÈ»Êǽø³Ì¡£
´ó¼Ò ......