原始碼檢視工具 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