Understand 菜單

一、術語 Terminology

Architecture 層級

An architecture is a hierarchical aggregation of source code units (entities). An architecture can be user created or automatically generated. Architectures need not be complete (that is, an architecture’s flattened expansion need not reference every source entity in the database), nor unique (that is, an architecture’s flattened expansion need not maintain the set property).

層級表示代碼單元(或者實體)組成的層次結構,可以由用戶手動創建,也可由本軟件自動生成。一個層級可以不完整(例如一個層級的扁平化擴展有可能不會關聯數據庫中的所有代碼實體),也可能不唯一(扁平化擴展的層級可能不會處理其預設屬性)。

Database 數據庫

The database is where the results of the source code analysis, as well as project settings, are stored. By default, this is a project’s “.udb” file.

代碼經分析後產生的中間結果,以及工程設置保存在數據庫,其缺省擴展名爲“.udb”。

Entity 實體

An Understand “entity” is anything it has information about. In practice this means anything declared or used in your source code and the files that contain the project. Subroutines, variables, and source files are all examples of entities.

Understand 描述的“實體”表示任何包含信息的事物,具體來說,代碼中聲明或 者使用的標識、包含工程的文件、子程序、變量、源文件都可以被稱爲實體。

Project 工程

The set of source code you have analyzed and the settings and parameters chosen. A “project file” contains the list of source files and the project settings.

表示源代碼的集合以及相關的配置和參數,工程文件包含源文件清單和工程設置。

Relationship 關聯

A particular way that entities relate to one another. The names of relationships come from the syntax and semantics of a programming language. For instance, subroutine entities can have “Call” relationships and “CalledBy” relationships.

互作用的實體之間的關係,關聯的名稱來源於編程語言的語法和語義,例如過程式實體具有“調用”和“被調用”的關聯對象。

Script 腳本

Generally a Perl script. These can be run from within Understand’s GUI, or externally via the “uperl” command. The Understand Perl API provides easy and direct access to all information stored in an Understand database.

通常指perl腳本,腳本可以通過Understand 2.5的圖形用戶界面或者外部的腳本命令執行。Understand Perl API提供了快捷的訪問Understand數據庫所有信息的接口。

parts 部件

下面的圖形展示了一些Understand 圖形用戶界面(GUI) 中常用的部件:

 

常用詞彙

單詞 釋義
Macros
Variables 變量
Constants 常量
Functions 函數
Reference 引用
Metrics 參數
Architectures 架構
parameters 參數
Call 調用
Compiler 編譯器
component 組件、部件、元件
portability 可移植性
Cluster 集羣
Function Static Variables 靜態函數變量
case sensitive 區分大小寫
Whole Words Only 整詞匹配
layout 佈局
summary 綜述、總論
features 特徵
control-flow graphs 控制流程圖

右鍵菜單

代碼編輯窗口的右鍵菜單提供了很多瀏覽編輯操作的快捷方式,也提供了相關實體的特定信息。

以下介紹了右鍵菜單包含的典型的瀏覽操作(與點擊對象有關):

  • View Information 信息查看(參見信息瀏覽器)

  • Graphic Views 圖形視圖(參見)

  • Edit Source/Definition 代碼編輯(參見)

  • User Tools 用戶工具(參見)

  • Explore 瀏覽(參見層級查看)

  • Find In… 查找(參見多文件查找)

  • Add Favorite 添加到收藏夾(參見收藏夾)

  • Metrics Chart 度量圖表(參見)

 

以下介紹了右鍵菜單包含的典型的編輯操作(與點擊對象有關):

  • Undo/Redo 撤銷/重做

  • Cut/Copy/Past 剪切/複製/粘貼(參見文本選擇和拷貝)

  • Select All 全選(參見文本選擇和拷貝)

  • Jump to Marching Brace 跳到塊末

  • Select Block 塊選擇

  • Hide/Show Inactive Lines 行顯示/隱藏

  • Fold All 摺疊所有分支

  • Soft Wrap 軟包裝

  • Comment Selection/Uncomment Selection 註釋選擇/代碼選擇

  • Change Case 大小寫切換

  • Revert 反轉

  • Add Bookmark 添加書籤活動


Project Configuration

使用菜單欄Project>Configure Project,選擇C++可以打開如下窗口。

 

C++>Option配置頁面包括如下區域:

  • Compiler: 
    選擇當前工程使用的編譯器或者平臺,編譯器相關的宏定義根據選擇自動設置。需要注意的是,編譯器的某些特性有可能沒有得到很好的支持。

  • Compiler Include Paths: 
    輸入編譯器使用的頭文件的所在路徑,如%include%。

  • Allow nested comments:>>默認情況下,該選項禁止。打開的狀態下,Understand允許C語言的註釋符(/**/)可以嵌套使用(這種風格被ANSI禁止,但是有一些編譯器支持)。

  • Prepend the names of externally linkable entities with: 
    使用一個隨意的字符串作爲工程中其他語言編寫的代碼中定義的實體的前綴。

  • Append the names of externally linkable entities with: 
    使用一個隨意的字符串作爲工程中其他語言編寫的代碼中定義的實體的後綴。

  • Create implicit special member functions: 
    源代碼沒有類和結構實體的相關語句時,Understand數據庫自動創建默認構造函數,析構函數和隱式聲明引用,從而爲分析時提供相關的引用實體。該選項默認禁止。

  • Create references in inactive code: 
    如果希望將條件編譯控制的非激活代碼排除在外,需要取消該選項,默認選中。

  • Create references to local objects: 
    默認情況下,Understand數據庫包含所有局部對象,如果希望不包含函數中聲明的變量需要取消該選項。Understand 2.5的主窗口可以選擇是否需要在HTML報告中包含局部對象。

  • Create references to macros during macro expansion: 
    選中情況下,數據庫保存宏解析時的引用關係。有時候,該選擇有用。注意,該選項選中導致數據庫增加很多引用關係,會變得很慢。默認關閉。

  • Create references to parameters: 
    關閉該選項取消參數的引用關係,默認開啓。

  • Save comments associated with entities: 
    此選項控制代碼實體前後註釋與實體的關聯。

  • Save duplicate references: 
    默認情況下,引用關係只在數據庫保存一份,選中該選項,會記錄重複的引用關係。

  • Save macro expansion text: 
    選中該選項的情況下,可以在選中宏的右鍵菜單下選擇Expanded Macro Text來查看宏定義值。

  • Use Include cache: 
    由於頭文件通常被多個源文件使用,默認情況下,分析階段頭文件都採用高速緩存,這樣能夠加速分析過程,但是需要更多的內存,如果分析過程碰到內存問題,可以將此選項關閉。同時需要注意的是,高速緩存的使用會影響到分析結果。

Entity Filter窗口

 

根過濾器

  • Root Calls: 
    僅顯示調用而不被調用的實體,如上層代碼(mains),硬件調用的代碼(中斷處理函數)以及啞(不被使用)代碼。

  • Root CallBys: 
    僅顯示只被調用而不調用其他實體的實體,即最底層的函數。

  • Root IncludeBys: 
    僅顯示被其他文件包含的文件,即基礎頭文件。

  • Root Classes: 
    僅顯示不依賴於其他類的類,包括底層類和庫類。

  • Root Decls: 
    僅顯示最高層的聲明過程(Ada)。

  • Root Withs: 
    僅顯示被其他單元使用,而不使用其他單元的程序單元(包括包,任務,子程序等)(Ada)。


信息瀏覽器
>

信息瀏覽器同步

取消Sync 勾選可以打開多個信息瀏覽器窗口,Sync 勾選的情況下,選中一個實體或者選擇View Information 則會更新當前信息瀏覽器。

選中File Sync 可以保證信息瀏覽器內容始終與激活的代碼編輯器保持同步。 

引用查看

信息瀏覽器的“References”區域顯示了所有引用選中實體的相關信息: 

工程瀏覽器

 
>

上下文信息邊欄

 

顯示當前激活的編輯窗口的結構和信息,標籤頁包含了以下信息:

  • Structure Browser 
    提供當前文件的擴展範圍列表,列出了文件中函數,頭文件包含,宏定義,類及其他各種結構的名稱。名稱旁邊的圖標指示了實體類型。將鼠標移動到一個條目,彈出顯示實體類型和名稱的活動文本框。使用Ctrl+F 可以在標籤頁範圍內進行查找。

  • File Information 
    提供當前文件的信息瀏覽器。

  • Scope Information 
    顯示Structure Browser 中選中實體的相關信息。

  • Context Browser 
    在左側顯示當前實體在層級結構中的位置,右側顯示當前實體包含的其他實體。文件信息標籤頁右上角的圖標(或者使用Ctrl+,)可以將編輯窗口和CIS 中的文件替換爲同目錄下同名但不同擴展名的文件。例如,使用這種方法可以在.p/.cpp 和.h 文件之間快速切換。

右鍵菜單也提供了多種快捷的操作選擇。

大小寫修改

Understand 2.5代碼編輯器支持選中文本進行快速的大小寫修改,方法如下:

  1. 選中代碼中的一個或者多個單詞。
  2. 通過菜單欄Edit>Change Case,或者右鍵菜單中選擇Change Case。
  3. 選擇需要使用的大小寫修改方式,選項包括: 

層級結構瀏覽器

層級結構節點(如文件系統目錄節點和本季度修改節點)的右鍵菜單包含了以下一些其他對象的右鍵菜單沒有提供的額外選項:

  • Graphical Views>Dependency Graphs: 顯示層級結構各節點的依賴關係,參見。

  • Metrics Summary:提供選中節點各實體的度量數據,這些度量數據基於當前節點下的實體,不包括子節點中的實體,參見。

  • Metrics Export:將度量總結導出到一個CSV 文件,參見。

  • XML Export:將層級結構中選中節點及子節點包含的實體以XML 格式導出,參見。

  • Edit Architecutre:爲用戶自己創建的層級結構打開一個層級結構構建器,Understand 
    自動構建的層級結構不能被修改,參見。

  • Rename Architecture:爲用戶自己創建的層級結構或者節點打開一個層級結構重命名窗口供用戶對其中名稱進行修改,Understand 2.5 自動構建的層級結構不能被重命名,參見。

  • Duplicate Architecture:打開層級結構複製窗口對選中層級結構的副本進行命名,參見。

  • Manage Architecture:打開層級結構管理窗口,參見。

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