Windows下閱讀linux源碼的強大軟件Source Insight

原文地址:http://blog.chinaunix.net/uid-8215384-id-298436.html

source insight3.x 註冊碼:SI3US-205035-36448

source insight的強大我就不說了,誰用誰知道,但強大功能的背後都有一套複雜的使用方法,動輒幾十頁的說明文檔看着就頭疼,真正常用的功能就那麼幾個,在此介紹下針對嵌入式linux愛好者的souceinsight的快速入門,希望對大家有用。

    source insight 是windows下非常強大的程序代碼閱讀和編輯工具。特別是閱讀程序中的某個宏或函數時,需要了解該函數的原型卻不知道該函數是在本文件還是頭文件中定義的,這時可利用source insight把該文件和用到的頭文件添加到一個項目中,閱讀程序文件時,只用單擊某函數或宏,其原型會在上下文窗口中自動顯示。
這個功能在閱讀linux源代碼和別人的項目程序時非常有用。強烈推薦。
source insight 會將程序中的全局變量、局部變量表上不同的顏色;光標移到某個變量、函數上時,窗口下方會自動顯示他們的定義;可快速找到函數間的調用關係;編輯代碼時,變量名、函數名會自動補全。
    下面以創建一個基於arm的linux內核源碼項目爲例介紹source insight的使用。PS:linux的內核源碼大部分爲C文件,因此建立的項目語言類型爲C,但是也存在彙編.S文件,因此要建立的項目包括的文件類型應包括
  1. 創建一個c語言的source insight 工程。啓動source insight->菜單option->Document Option->Document Type(C Source File),file filter中添加*.s,*.S類型,之後單擊close關閉窗口。
  2. 單擊菜單Project->New Project->輸入工程名和保存路徑。
  3. 指定源碼的源碼的存放位置後,單擊 Ok 按鈕進入 add and remove project files 界面。在此界面下選擇linux源代碼存放的路徑,如果不在上面顯示的盤符下,可在file names窗口中輸入路徑,如輸入E:\後回車,就進入了E盤目錄下。
右側的按鈕介紹
add 添加選中的文件和文件夾下的文件
add all 添加file name目錄框下的所有文件夾下的文件。單擊add all按鈕時在彈出的對話框中要選中include top level sub-directories 選項和recursively add lower sub-directories選項,表示遞歸添加子文件夾下的所有文件
add tree 遞歸添加選中的文件夾中的所有文件(包括子文件夾)
remove tree 刪除選中的目錄下的所有文件夾和文件
在此先添加linux源代碼下的所有文件夾

4. 刪除內核目錄中用不到的文件

    由於linux支持多個架構的CPU,而在此只關心S3C24**目標板,所以可以在工程中刪除不相關的文件。
要刪除的目錄如下:
arch 目錄下除 arm 外的所有目錄
arch/arm 目錄下以 mach 開頭的目錄(mach-s3c2410和mach-s3c2440除外)
arch/arm 目錄下以 plat 開頭的目錄(plat-s3c24**除外)
include目錄下以 asm 開頭的目錄(asm-arm、asm-generic除外)
include/asm-arm目錄下以arch開頭的目錄(arch-s3c24**除外)
至此,工程建立完畢。

5 建立數據庫(同步源文件)
    建立的數據庫的作用是保存項目源文件中個變量、函數之間的關係,這樣編輯代碼時source Insight可快速的提供各種輔助信息。
方法:菜單project->synchronize files->選中force all files to be re-parsed(強制分析所有文件),然後單擊Ok按鈕即可生成數據庫。

6 主界面介紹:左側爲 符號窗口,顯示當前文件中的變量、函數、宏定義等。
下邊爲 上下文窗口 在代碼窗口中單擊某變量,函數,宏的時候,此窗口會顯示他們的定義

7 使用技巧。在某個變量、函數、宏上右擊,在彈出的菜單中選擇lookup reference,可以快速的找到所有源文件對他們的使用,當然定義也在裏面。也可單擊窗口上側的“R”圖標,輸入要查詢的變量或其他,也可進行搜索。
其他使用技巧可參考各種souce insight使用說明和幫助文檔。在此不一一贅述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章