1. 程式人生 > >原始碼檢視工具 Source Navigator 使用心得

原始碼檢視工具 Source Navigator 使用心得

在ubuntu 10.04下試用了Source Navigator,有條件還是裝Source insight吧,不是一個級別的,非常不方便。

Source Navigator 是Red Hat出品的一款檢視原始碼的工具,非常好用,與Windows下的Source Insight有一敵。但是它的介面不怎麼好看,用的不是GTK圖形庫,所以介面風格與Gnome不一致,操作上也有些不同。除了這些,其它功能都非常強大,細數如下。裡面的一些簡寫約定如下:

Code Area

cl Classes

con Constants

e Enums

ec Enum Values

fd Function Declarations

fr friends

fu Functions

gv Global Variables

iv Instance Variables

ma Macros

md Method Definitions

mi Method Implementations

t Typedefs

un Unions

lv Local variables

ud Undefined

Cross-Reference

r Read

w Written

p Passed

u Unused

SNav的程式碼視窗有6個標籤頁,它們分別是

“Edit”

“Hierarchy”

“Class”

“Xref”

“Retriever”

“Grep”

其中, Edit區是程式碼顯示和修改的區域,是工作的主要區域;“Hierarchy”和“Class”是C++程式碼的組織工具;“Xref”是最強大的一個工具,它會把一個函式中的所有用到的變數,呼叫的函式,用到的結構全記錄並展現出來;“Retriever”也是一個非常有用的工具,用於把一個庫程式碼包中的所有定義的符號列出來,並記錄相應的屬性;“Grep”用於查詢某一個符號,可指定搜尋的範圍,既可全域性查詢也可部分檔案查詢。閱讀程式碼時常用到的一些鍵值組合:

Ctrl+leftarrow | rightarrow | uparrow | downarrow 以詞的形式移動游標

Ctrl+Alt+leftarrow | rightarrow | uparrow | downarrow 以詞的形式移動游標並選擇走過的區域

Ctrl+Shift+D 檢視選定符號的宣告

Ctrl+Shift+I 檢視選定符號的定義程式碼視窗的工具欄上有7個元素,分別是

“回退跳轉”

“前進跳轉”

“游標處所在的函式名或結構名”

“選定並要操作(比如查詢)的字串”

“在本檔案中查詢選定的字串”(比Ctrl+F查詢功能好使)

“在整個工程中查詢與選定字串匹配的程式碼”

“在整個工程中以Grep的方式查詢與選定字串匹配的程式碼”(會跳到Grep標籤頁中顯示結果)注意:snavigator在匯入目錄時,目錄名中間不能出現空格。

三、在ubuntu中安裝 Source-Navigator及使用手冊

2009-09-25 23:19

from : http://hi.baidu.com/xiaohu_tiger/blog/item/66d207888431d6b40f2444ec.html

1 通過apt-get安裝(版本較舊)

安裝命令:sudo apt-get install sourcenav

啟動命令:snavigator

2 手動安裝最新版本

1)到官方網站獲取軟體包

http://sourceforge.net/project/showfiles.php?group_id=51180

2)解壓縮

tar zxvf s ourcenav-6.0.tar.gz

./configure --prefix=/opt/sourcenav (install 檔案推薦引數)

make

make install

ps:如果出現許可權問題,前面加sudo

3)如果碰到下述錯誤

/root/tk8.4.16/unix/../generic/tk3d.c:1279: error: ‘TkBorder’ has no member named ‘resourceRefCount’

/root/tk8.4.16/unix/../generic/tk3d.c:1280: error: ‘Tk_FakeWin’ has no member named ‘display’

/root/tk8.4.16/unix/../generic/tk3d.c:1280: error: ‘Tk_FakeWin’ has no member named ‘screenNum’

/root/tk8.4.16/unix/../generic/tk3d.c:1280: error: ‘TkBorder’ has no member named ‘screen’

/root/tk8.4.16/unix/../generic/tk3d.c:1281: error: ‘Tk_FakeWin’ has no member named ‘atts’

/root/tk8.4.16/unix/../generic/tk3d.c:1281: error: ‘TkBorder’ has no member named ‘colormap’

/root/tk8.4.16/unix/../generic/tk3d.c:1301: error: ‘TkDisplay’ has no member named ‘borderTable’

/root/tk8.4.16/unix/../generic/tk3d.c:1301: error: ‘TkDisplay’ has no member named ‘borderTable’

/root/tk8.4.16/unix/../generic/tk3d.c:1306: error: ‘TkBorder’ has no member named ‘nextPtr’

。。。。。。

則在終端是輸入:sudo apt-get install libx11-dev

4) 啟動snavigator

在終端直接輸入:snavigator

5) 使用手冊(user manual)

http://sourcenav.sourceforge.net/online-docs/userguide/index_ug.html

還有一個 source insight 和source navigator的比較的帖子:

http://fky168.blog.163.com/blog/static/3786097200831033957620/

========================================================

執行source navigator的問題

方法一、(轉載)

安裝完成後執行 snavigator 提示

[[email protected] sourcenav-6.0]# snavigator

Can't find a usable tk.tcl in the following directories:

/usr/local/share/tk8.3

/usr/local/share/tk8.3/tk.tcl: no event type or button # or keysym

no event type or button # or keysym

while executing

"bind Listbox {

%W yview scroll [expr {- (%D / 120) * 4}] units

}"

(file "/usr/local/share/tk8.3/listbox.tcl" line 182)

invoked from within

"source [file join $tk_library listbox.tcl]"

invoked from within

"if {[string compare $tcl_platform(platform) "macintosh"] && /

[string compare {} $tk_library]} {

source [file join $tk_library button.tcl]

so..."

(file "/usr/local/share/tk8.3/tk.tcl" line 30

invoked from within

"source /usr/local/share/tk8.3/tk.tcl"

("uplevel" body line 1)

invoked from within

"uplevel /#0 [list source $file]"

This probably means that tk wasn't installed properly.

不知其所以然,重新安裝tk8.3無效,升級到tk8.5無效

後來在網上發現需要給下載的Source-Navigator 6.0打補丁

到http://bugs.gentoo.org/show_bug.cgi?id=225999 找到 tk-8.4-lastevent.patch 補丁

將補丁貼上到source navigator 原始碼目錄 sourcenav-6.0/tk目錄下,再cd 到sourcenav-6.0/ tk 的原始碼目錄

patch -p0 -i tk-8.4-lastevent.patch

刪除安裝,重新安裝,可以運行了(我試了一下不行)。

方法二、(轉載)

有找到解法:

(http://forums.fedoraforum.org/showthread.php?t=213441)

注掉 lines 182-184 in the file /opt/sourcenav/share/tk8.3/listbox.tcl

注掉 lines 457-459 in the file /opt/sourcenav/share/tk8.3/text.tcl

在panel中新增Launcher,在Command中新增/opt/sourcenav/bin/snavigator

====== 安裝完後在桌面增加捷徑的方法 ======

我要做捷徑的目標是/opt/sourcenav/bin/snavigator (這是個sh script)

裡面要改一行

#snbindir=`dirname $0`

snbindir=/opt/sourcenav/bin

這樣再建一個捷徑到桌面即可:

ln -s /opt/sourcenav/bin/snavigator ~/Desktop/

本文來自CSDN部落格,轉載請標明出處:http://blog.csdn.net/dian_technology/archive/2010/07/23/5757884.aspx

相關推薦

原始碼檢視工具 Source Navigator 使用心得

在ubuntu 10.04下試用了Source Navigator,有條件還是裝Source insight吧,不是一個級別的,非常不方便。 Source Navigator 是Red Hat出品的一款檢視原始碼的工具,非常好用,與Windows下的Source Insigh

java原始碼檢視工具Source Insight

在彈出的“Add and Remove Project Files”對話方塊中,右側欄“File Name”選擇你所需要的工程檔案,點選旁邊的“Add”增加按鈕,如果需要把該資料夾所有的檔案新增進去,點選旁邊的按鈕“Add All”就可以了。

最方便的Android線上原始碼檢視工具

需要檢視Android系統原始碼的朋友, 可以使用QTrace, 檢視線上Android原始碼非常方便. QTrace下載:http://www.onlinedown.net/soft/1223124.htm,linux,window都可以執行.   集成了三個線上And

Opencv 原始碼檢視跟蹤工具Source Insight

從事影象處理與計算機視覺的工作者有時需要檢視跟蹤opencv原始碼,瞭解函式呼叫關係;有時需要修改部分程式碼為自己所用。 在Visual Studio使用opencv庫時,通過 “右鍵 ->檢視定義” 只能看到函式宣告,沒法看到原始碼,因為OpenCV將很多函式加入了

Apk反編譯工具檢視layout 和java原始碼工具

首先要準備反編譯三件套,這個在網上應該會有很多 一: 檢視layout        解壓得到apktol.jar 和 apktool.bat 同時把要反編譯的apk也一起存放在當前目錄下 然後開啟控制檯  cmd 定位到當前目錄下

Eclipse無法檢視原始碼,提示source not found

以下為複製過來,以防原地址失效: 學習專案程式碼的時候想要看一下Cookie的原始碼,已經確定下載到了本地,可是Ctrl+左鍵點進去,提示source not found(如下圖),灰常納悶,遂百度,大家普遍認為需要安裝反編譯外掛jad。 看了幾個教程,嘗試安

原始碼管理工具 一一 Git-起別名、檢視版本、版本回退等

GIT命令列的其他用法 一.給命令起別名 1."給status"起別名為"st" git config alias.st "status" 2.來到.git->.config檢視起的別名

Eclipse 中檢視一些原始碼時遇到 source not found

學習專案程式碼的時候想要看一些原始碼,確定下載到了本地,可是Ctrl+左鍵點進去,提示source not found,像百度請求幫助,嘗試了幾種方法都未果,後來發現所需要的包是存在的,再次選擇匯入包沒有作用,最後通過安裝反編譯外掛解決。1)在提示Source Not Fou

[eclipse]android開發如何檢視原始碼檔案(android source)

首先開啟Android SDK Manager ,如下圖: 假如我們要用android 4.0 版本的原始碼,如上圖 圈出 的一項,安裝一下,安裝後該項後面會顯示 Installed 。 安裝過之後,我們會在sdk安裝目錄下 sources 檔案中看到下載的原始檔夾,

Gitlab 工具Source tree使用

gitlab source tree 在win的客戶端,我們可以使用工具來方便開發和管理工作,例如source tree,是一款免費的工具,直接下載exe文件安裝就可以了1、安裝完畢後,克隆項目2、克隆完畢後,可以看到各個分支和master信息,而且會有圖線形式給表示3、開發項目創建分支3、創建完畢分

報表工具highcharts使用心得

技術 java 通過 als 心得 去掉 rip 提交 label 公司讓做一個報表頁面,搜索了下發現highcharts比較符合業務需求,下面就說一下使用心得。 $(‘#container‘).highcharts({ title: {

Ubuntu 14.04下安裝靜態原始碼分析工具Splint3.1.2

------------------------------------ 版權資訊 ------------------------------------ 此文連結: http://blog.csdn.net/doniexun/article/details/45219863

Windows資料夾、檔案原始碼對比工具--WinMerge

/********************************************************************** * Windows資料夾、檔案原始碼對比工具--WinMerge * 說明: * 藍武的程式進行了修改,不過由於他目前沒有使

Centos常用的程序管理和資源檢視工具

一、pstree pstree命令以樹狀圖的方式展現程序之間的派生關係 -a:顯示每個程式的完整指令,包含路徑,引數或是常駐服務的標示;  -c:不使用精簡標示法;  -G:使用VT100終端機的列繪圖字元;  -h:列出樹狀圖時,特別標明現在執行的程式;  -

Android核心技術-day04-02-網頁原始碼檢視器(StreamUtils)

package com.gaozewen.htmlviewer.utils; import java.io.ByteArrayOutputStream; import java.io.InputStream; /** * 流的工具類 * @author gzw * @version $R

Jdk原始碼 檢視順序

1、java.lang 1) Object 1 2) String 1 3) AbstractStringBuilder 1 4) StringBuffer 1 5) StringBuilder 1 6) Boolean 2 7) Byte 2 8) Double 2 9) Float 2

gclient多原始碼管理工具 DEPS檔案

gclient來管理原始碼的checkout, update等。 gclient是google專門為這種多源專案編寫的指令碼,它可以將多個原始碼管理系統中的程式碼放在一起管理。甚至包括將Git和svn程式碼放在一起。   重點說明下和gclient密切相關的兩類檔案.gclie

來自俄羅斯的原始碼分析工具 PVS-Studio

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

git圖形化介面工具Source Tree與Github建立遠端倉庫

Source Tree上與Github建立遠端倉庫 1,在Github上建立倉庫   2,輸入資訊並建立: 3,專案建立成功: 4,回到sourcetree上建立 5,輸入目標路徑: 注:目標路徑為你要上傳的專案地址

28 友盟大資料--flume原始碼檢視分析- ExecSource

1 // 2 // Source code recreated from a .class file by IntelliJ IDEA 3 // (powered by Fernflower decompiler) 4 // 5 6 package org.apache.flu