Kscope使用教學

本文章將會簡單的說明如何使用Kscope的GUI,來讓你快速Trace Source Code,我將會用
Linux Kernel來做說明。

1.  首先下載Linux Kernel跟安裝好Kscope (Kscope不會安裝看我寫的教學
http://hamisme.blogspot.com/2011/02/kscope.html)

2. 開啟Terminal,並輸入kscopeapp按下Enter鍵,應該會看到以下的畫面





















3. 接著建立一個專案,所以請按New的按鈕

新的專案有幾個部份要設定:

  • Name        :  專案名稱
  • Root Path  :  Source Code的目錄
  • Project Configuration Directory : 這部份通常是不用去設定,這個目錄會存放Cscope跟Ctags還有Kscope所需要的檔案         

























4. 加入你要Trace的檔案,請按下Add的按鈕

































然後會跳到下面的對話方塊,因為Linux Kernel的code很多,所以需要點選Tree
這個功能我們才不需要一個檔案或一個目錄的慢慢加。

選擇Linux Kernel的目錄









等待Kscope將*.c 跟 *.h全找到


全找到了,數量可是很多的,有興趣可以一個一個慢慢看 ^ ^ ,好了就按下OK鍵


































這邊只是讓你看整個目錄的架構,所以也是按OK

































接著Kscope就會開始建立database來放我們之後要Trace code的資料













5. 好拉,要開始Trace code了,請先打開要Trace的檔案File->Open or 快速鍵 Ctrl+o
我這邊用/linux-2.6.38/driver/char/i8k.c做範例
當我不知道 I8K_SMM_FN_STATUS這個Macro定義的是什麼,也不想一個一個慢慢找,這時
將滑鼠移到這個Macro上,並且按下Ctrl+]這個快速鍵(還有其他搜尋的方法請看工具列的Query
快速鍵為Alt+Q)




























Kscope就會幫你找到了,當你要回到上一個檔案的話,就按Alt+Left( 其他快速鍵可以參考
工具列的Navigate,或快速鍵alt+N)

留言

Mini寫道…
您好,可以请教下右边侧栏的“Query Result”这个是怎么用的么?谢谢!
hamisme寫道…
當你利用Query底下的搜尋的功能(快速鍵是Ctrl+0~8),去進行你要搜尋的key word
,KScope就會將搜尋到的結果顯示在Query Result的部份。
Folay寫道…
您好︰
我下了指令︰kscopeapp
之後按照您的指示做到最後一步按下OK之前,它會在終端機自動產生以下指令︰
load "" "project.conf"
create "/root/dtt/project.conf"
load "/root/dtt" "project.conf"
Project loaded (name=' "dtt" ')
open "/root/dtt:-q" "/root/dtt"
Scanning "/root/Desktop/projects/sddt/" true true
按下OK之後,就產生以下訊息︰
Running cscope: ("-q", "-b", "-v") in "/root/dtt"
Process state 1
Process state 0
Process error 0
至於圖形介面則是一直卡在Initialising...
按下Cancel之後,在終端機則會出現︰
程式記憶體區段錯誤

上網找很久沒有相關的資料...
請問有頭緒是什麽問題嗎@@?
我的資料夾內只有一個main.c
hamisme寫道…
你kscope安裝的版本是多少呢?

熱門文章