2022年4月22日 星期五

GNU Global 一些數據參考

很久以前在做 Windows Mobile 手機時,trace code 都是使用 Global,後來比較沒機會接觸到這樣龐大的 code base,故都是用我的 UltraEdit 搞定。

最近有同事問我 trace linux kernel 的事,拿 5.17.3 版本試了一下,留下記錄當做參考。

兩種使用方式

01. VSCode + Global

可以參考這裡

02. 直接使用 Global 並產生 HTML 檔案

gtags 執行速度很快,大概不到 10 分鐘就建好 tag 資料庫。
htags - sna 總共花了約 4 小時又 43 分才建好所有 HTML。

另外,HTML 整包資料夾的大小約為 12.1G,硬碟大小則是 17.3G,裡面共產生 2,047,758 支檔案及 8 個資料夾。

我們也可以直接用指令查詢 tag 資料庫,只要記住兩個指令就好。還有下指令時不需要在 tag 檔案那層,隨便一層都可以。

global XXX  直接找 XXX 定義的地方。
global -r XXX 則是找 XXX 被使用的地方。

加上 -x 則是取得詳細的資料。


記得在使用 Global 前,要先 build 過 kernel 幾分鐘,好讓相關的 CONFIG_XXX 自動生成,其位置是在 CodeRoot/include/generated/autoconf.h

沒有留言:

張貼留言