2007年9月7日 星期五

Trace Code的好幫手: GVim+Ctags+Cscope

Trace Code的軟體舉凡Source NavigatorAnjuta都佔有一定比例使用人數,但GVim+Ctags+Cscope更是一項不錯的選擇,底下將簡單介紹如何使用CtagsCscope

Ctags
Ctags用來產生原始碼每一tag(函數名或識別子)所在位置,執行Ctags會產生名為tags的檔案,Vim參考此檔便可知道每一tag的資訊。因此,只要將游標移至函數名或識別子上,按Ctrl+
]就可以跳至函數或識別子定義的地方。如欲返回,則按Ctrl+t即可。

Cscope
使用Cscope可搜尋tag、搜尋哪些地方呼叫某一函數、搜尋某一檔案與利用正規表達式搜尋相關字串等等功能 (在Vim底下按":cs"會秀出Usage Tip)。



範例示範 (Step by Step,假設欲Trace Linux核心原始碼)

1. 至Cscope官網下載cscope_maps.vim,並將之複製到~/.vim/plugin/。如此便能於啟動Vim時,自動載入cscope產生出來的檔案 (cscope.out)。

2. 至/usr/src/linux-source-版本編號,執行ctags與cscope兩個檔案。

  • adrian@adrian-desktop:~# cd /usr/src/linux-source-2.6.20
  • adrian@adrian-desktop:/usr/src/linux-source-2.6.20# ctags -R && cscope -R (ctags產生tags檔,cscope產生cscope.out) --> 如欲離開cscope,按Ctrl+D即可。

3. 隨便編輯一個.c檔,如init/main.c
  • adrian@adrian-desktop:/usr/src/linux-source-2.6.20# vim init/main.c
  • 假設在init/main.c想要觀看get_option這個識別子定義的地方,將游標移到該識別子上,再按Ctrl+]。如欲知道哪些地方呼叫該識別子,將游標移到該識別子上,按Ctrl+\,再按c即可。Ctrl+\,再按s則搜尋該識別子出現的地方。

2007年9月5日 星期三

New Google Applications for Linux coming soon!

slashdot看到Google Linux用戶端服務開發團隊 (Google Linux Client Team)正在開發Linux Desktop Application,應該蠻值得期待的吧!! 更有人期待Google Talk可以運作於Linux (沒有audio/Microphone等問題)。

有興趣可以看看!

Related links:
New Google Linux Apps