VIM+GDB linux c/c++ µÄ±à³ÌÀûÆ÷
ÆäʵVIMÒ²ÄܰѱàÒë µ÷ÊÔ¼¯³ÉÔÚÒ»Æð£¬ÏñÊÇÒ»¸öIDEÒ»Ñù¡£
Ê×ÏÈÏÖÔÚVIMµÄÔ´Â룬ÒòΪҪ¼¯³Éµ÷ÊÔ»·¾³µÄ»°ÐèÒªÖØÐ±àÒëVIM²ÅÐУ¬ËùÒÔÎÒÃDz»ÈçÖØÐ°²×°Ò»¸ö¡£
VIMµÄÏÖÔÚµØÖ·£º
http://www.vim.org/sources.php
È»ºóÏÂÔØVIMGDB£¬ÕâÊÇvimµÄ¼¯³Éµ÷ÊÔ»·¾³µÄÒ»¸öÖØÒª²å¼þ³ÌÐò¡£
µØÖ·£ºhttp://sourceforge.net/projects/clewn/files/vimGdb/
,Ñ¡Ôñ¶ÔÓ¦µÄVIM°æ±¾ÏÂÔØ¡£
°ÑÏÂÔØÏÂÀ´µÄÎļþ¶¼·Åµ½ ~/install/ÖÐ
È»ºó£º
cd ~/install/
tar xjf vim-7.2.tar.bz2
tar xzf vimgdb72-1.14.tar.gz
patch -d vim72 --backup -p0 < vimgdb/vim72.diff
ÕâÑù¾Í½âѹ³övimºÍvimgdb£¬²¢¶ÔvimµÄconfigureÎļþ×Ô¶¯×öÁ˵÷Õû
½ÓÏÂÀ´£º
cd ~/install/vim72
make
make install
¾Í×°ºÃvimÁË¡£
È»ºó£º
cd ~/install/vimgdb
mkdir ~/.vim
tar zxf vimgdb_runtime.tgz -C ~/.vim/
ÕâÑù¾Í×°ºÃÁË£¬½ÓÏÂÀ´Æô¶¯vim
ÏȰÑvimgdbµÄ°ïÖúµ¼½øÈ¥
:helptags ~/.vim/doc
ÕâÑù¾Í¿ÉÒÔ
:help vimgdb
À´¿´vimgdbµÄ°ïÖúÁË
ÕâÑù ÎÒÃÇÏÈ´ò¿ªÒ»¸öc³ÌÐò
²¢ÇÒΪÕâ¸ö³ÌÐòдºÃÒ»¸öMakefileÎļþ
ÓÃ
:make
À´±àÒëÕâ¸öÔ´Âë¡£
¸ù¾ÝÉú³ÉµÄ±¨´íÐÅÏ¢ ÎÒÃÇ¿ÉÒÔÀ´Ð޸ijÌÐò£¬Çûسµ»áÌø×ªµ½µÚÒ»¸ö´íÎó£¬ÓÃcnext
»áµ½ÏÂÒ»¸ö´íÎó£¬cprevious
µ½ÉÏÒ»¸ö´íÎó£¬cc n
Ìøµ½µÚn¸ö´íÎó£¬cc
ÏÔʾµ±Ç°´íÎóµÄÏêϸÐÅÏ¢
½ÓÏÂÀ´ÎÒÃÇÒªÊÔÒ»ÏÂvimgdbµÄµ÷ÊÔ¹¦ÄÜÁË¡£
Ê×ÏÈ£º
:run macros/gdb_mappings.vim
À´¼ÓÔØvimgdbÓ³ÉäµÄ¼ü
Õâ¸öʱºòÎÒÃÇ¿ÉÒÔÓÃ
:help gdb-mapping
À´²é¿´¼ÓÔØ¼üµÄÓ÷¨
ÓÃ<F7>
¿ÉÒÔÆôÓÃ/¹Ø±Õ¼ÓÔØµÄ¼ü
ÏÖÔÚ£¬°´¿Õ¸ñ¼ü£¬¾Í»áÔÚµ±Ç°´°¿ÚÏ·½´ò¿ªÒ»¸öС´°¿Ú£¬Õâ¾ÍÊÇvimgdbµÄÃüÁî´°¿Ú£¬¿ÉÒÔÔÚÀïÃæÊäÈëgdbÃüÁî¡£ÏÖÔÚ£¬ÎÒÃÇÔÚÕâ¸ö´°¿ÚÖÐÊäÈë”gdb
“£¬°´»Ø³µºó£¬command-line´°¿Ú×Ô¶¯¹Ø±Õ£¬¶øÔÚµ±Ç°´°¿ÚÉÏ·½ÓÖ´ò¿ªÒ»¸ö´°¿Ú£¬Õâ¸ö´°¿ÚÊÇgdbÊä³ö´°¿Ú¡£ÏÖÔÚvimµÄ´°¿Ú²¼¾ÖÈçÏÂ(ÎÒÓÖ°´¿Õ¸ñ´ò¿ªÁËcommand-line´°¿Ú)
È»ºóÔÚÕâ¸ö´°¿ÚÀï
file test
´ò¿ªÒªµ÷ÊԵijÌÐò
È»ºóÔÚÔ´ÂëÎļþÀï¿ÉÒÔCTRL+B
À´ÉèÖöϵ㣬R
À´ÔËÐгÌÐò£¬S
µ¥²½Ö´ÐÐ ÆäËûÃüÁî¿ÉÒÔÓÃ:help gdb-mapping
À´²é¿´
ÎÒÃÇ¿ÉÒÔÓÃ
:bel 20vsplit gdb-variables
ÔÚÓÒ²à´ò¿ªÒ»¸öС´°¿ÚÀ´ÏÔʾҪ¸ú×ٵıäÁ¿µÄÖµ
ÔÚÔ´ÂëÎļþÀÓà "v
" £¨±íʾvisualģʽ£© Ñ¡¶¨Òª¸ú×ٵıäÁ¿£¬È»ºóCTRL+P
°Ñ±äÁ¿¼Óµ½ÓұߵļàÊÓ´°¿Ú¡£
»¹ÒÔÔÚgdbµÄÃüÁî´°¿Ú ÓÃ
createvar *r
À´´´½¨ÐµļàÊÓ±ä
Ïà¹ØÎĵµ£º
1. HCI²ãÐÒé¸ÅÊö£º
HCIÌṩһÌ×ͳһµÄ·½·¨À´·ÃÎÊBluetoothµ×²ã¡£ÈçͼËùʾ£º
´ÓͼÉÏ¿ÉÒÔ¿´³ö£¬Host Controller Interface(HCI) ¾ÍÊÇÓÃÀ´¹µÍ¨HostºÍModule¡£Hostͨ³£¾ÍÊÇPC£¬ ModuleÔòÊÇÒÔ¸÷ÖÖÎïÀíÁ¬½ÓÐÎʽ£¨USB,serial,pc-cardµÈ£©Á¬½Óµ½PCÉϵÄbluetooth Dongle¡£
ÔÚHostÕâÒ»¶Ë£ºapplication,SDP,L2capµÈÐÒé ......
£¨L2CAPÐÒé¼ò½é£¬L2CAPÔÚBlueZÖеÄʵÏÖÒÔ¼°L2CAP±à³Ì½Ó¿Ú£©
Ò»£ºL2CAPÐÒé¼ò½é£º
Logical Link Control and Adaptation Protocol(L2CAP)
Âß¼Á¬½Ó¿ØÖƺÍÊÊÅäÐÒé (L2CAP) ΪÉϲãÐÒéÌá¹©ÃæÏòÁ¬½ÓºÍÎÞÁ¬½ÓµÄÊý¾Ý·þÎñ£¬²¢Ìṩ¶àÐÒ鹦ÄܺͷָîÖØ×é²Ù×÷¡£L2CAP ³äÐíÉϲãÐÒéºÍÓ¦ÓÃÈí¼þ´«ÊäºÍ½ÓÊÕ×î´ó³¤¶ÈΪ 64K µÄ L2CAP Ê ......
Service Discovery Protocol(SDP)ÌṩһÖÖÄÜÁ¦£¬ÈÃÓ¦ÓóÌÐòÓз½·¨·¢ÏÖÄÄÖÖ·þÎñ¿ÉÓÃÒÔ¼°ÕâÖÖ·þÎñµÄÌØÐÔ¡£
·þÎñ·¢ÏÖÐÒé(SDP»òBluetooth SDP)ÔÚÀ¶ÑÀÐÒéÕ»ÖжÔÀ¶ÑÀ»·¾³ÖеÄÓ¦ÓóÌÐòÓÐÌØÊâµÄº¬Ò⣬·¢ÏÖÄĸö·þÎñÊÇ¿ÉÓõĺÍÈ·¶¨ÕâЩ¿ÉÓ÷þÎñµÄÌØÕ÷¡£SDP¶¨ÒåÁËbluetooth client·¢ÏÖ¿ÉÓÃbluetooth server·þÎñºÍËüÃǵÄÌØÕ÷µÄ·½·¨¡£ ......
ÔËÐÐÈçÏÂÃüÁ¿É¿´µ½LinuxÖ§³ÖµÄÐźÅÁÐ±í£º
$ kill -l
1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL
5) SIGTRAP 6) SIGABRT 7) SIGBUS 8) SIGFPE
9) SIGKILL 10) SIGUSR1 11) SIGSEGV 12) SIGUSR2
13) SIGPIPE 14) SIGALRM 15) SIGTERM 17) SIGCHLD
18 ......
»·¾³±äÁ¿ÊǺÍShell½ôÃÜÏà¹ØµÄ£¬Óû§µÇ¼ϵͳºó¾ÍÆô¶¯ÁËÒ»¸öShell¡£¶ÔÓÚLinuxÀ´ËµÒ»°ãÊÇbash£¬µ«Ò²¿ÉÒÔÖØÐÂÉ趨»òÇл»µ½ÆäËüµÄ Shell¡£¶ÔÓÚUNIX£¬¿ÉÄÜÊÇCShelll¡£»·¾³±äÁ¿ÊÇͨ¹ýShellÃüÁîÀ´ÉèÖõģ¬ÉèÖúõĻ·¾³±äÁ¿ÓÖ¿ÉÒÔ±»ËùÓе±Ç°Óû§ËùÔËÐеijÌÐòËùʹÓ᣶ÔÓÚbashÕâ¸öShell³ÌÐòÀ´Ëµ£¬¿ÉÒÔͨ¹ý±äÁ¿ÃûÀ´·ÃÎÊÏàÓ¦µÄ»·¾³±äÁ¿ ......