標籤:style blog http io os ar 使用 sp 檔案
Understand 2.0是一款源碼閱讀分析軟體,功能強大。試用過一段時間後,感覺相當不錯,確實能夠大大提高代碼閱讀效率。因為Understand功能十分強大,本文不可能詳盡地介紹它的全部功能,所以僅僅列舉本人覺得比較重要或有特色的功能,以做拋磚引玉之舉。
Understand 2.0能夠從http://www.scitools.com/下載到,安裝後能夠試用15天。
使用Understand閱讀代碼前,要先建立一個Project,然後把全部的源碼檔案增加到這個Project裡。這裡我建立了一個ATLSTL的Project,然後把Microsoft Visual Studio 2008帶的ATL、STL、MFC的源碼增加當中。須要說明的是,Understand支援非常多種源碼,包含C#,而不光是C++代碼。
這是整個使用者介面的概覽,能夠看到和Visual Studio的風格非常類似。全部了子表單都能夠隨意停靠或折迭。
以下逐個介紹Understand的特性。
一,強大的自己主動畫圖能力。
Understand能夠產生很多種實用的圖形,如類別關係圖、函數呼叫歷程圖、標頭檔內含項目關聯性等。以下是CFile的類圖。
當然,假設願意,你能夠產生CObject派生的整個MFC的類圖(http://p.blog.csdn.net/images/p_blog_csdn_net/qwang24/EntryImages/20090411/ButterflyGraph-CObject.png)。這樣的圖曾經僅僅能在MSDN裡能夠見到,如今能夠在瞬間自己主動產生,非常酷!
還能夠顯示函數的調用關係:
以及標頭檔的內含項目關聯性:
二,出色的增量搜尋功能
增量搜尋或許不是新概念,在Visual Studio裡早就有。可是Understand裡的增量搜尋具有動態代碼加亮的功能。也就是說,能夠把選中的標識符的全部執行個體,都以醒目的顏色顯示出來,對於閱讀代碼時,很有協助。例如以,對函數參數pFileTime運行增量搜尋,則它出現的過地方都會被標示出來。這樣,這個參數是怎樣被使用的,一目瞭然。
三,豐富的標識符資訊
Understand的代碼資訊資料庫十分完好,全部的標識符能夠分類顯示。每一類別識別項又具有不同的資訊。如關於函數的資訊,能夠顯示定義它的檔案名稱,傳回值類型,參數資訊,調用函數,被調用函數,引用這個函數的資訊,代碼量等。當中,引用資訊裡會有參考型別,如申明、調用、定義等,很有用。
而對於變數資訊,而以顯示變數在哪裡定義的,是設定變數的值還是使用變數的值等。
四,方便的搜尋功能
非常多表單都有方便的搜尋功能,便於高速定位須要的資訊。如項目瀏覽器裡,能夠輸入檔案名稱,高速找到相關的檔案。
Understand還有非常多其它強大的功能,如報表功能,代碼編輯,代碼變化跟蹤等。
當然,和其它全部的程式碼分析工具軟體一樣,Understand也有一些不足之處,如有時候會解析錯誤,不支援COM代碼的Attribute擴充,對機器配置要求較高,對正則表達式的支援不完好等。
備忘:
解決不能正確解析COM的Attribute擴充問題: 搜尋正則表達式: /]/s*$ , 替換為 /]; (使用Visual Studio的在多個檔案裡替換功能,不能直接使用Unserstand替換。)
解決不能正確解析__interfacekeyword問題: 在project選項裡添加宏定義,把__interface定義為struct。
代碼閱讀分析工具Understand 2.0試用