cscope on kernel source

歡迎提問 debian desktop 相關問題,何謂 desktop ? 舉凡您日常生活會用到的部份,如上網 ( www 、 bbs ..) 、程式設計、繪圖...等等。 通常以 X Window 環境底下問題為主。

cscope on kernel source

文章tomjpsun » 週二 5月 20, 2008 10:14 am

小弟嘗試用 cscope 來輔助看 kernel source,但是發現有一些 symbol , cscope 會說找不到。
舉例如 bus.c 裡面的 bus_for_each_dev( ) , 或bus_for_each_drv( ) 就找不到。但是 cscope.list 有包含 bus.c ,也有試過用 -c 參數來建立 database,建出來的 cscope.*out 有這個 symbol,但是 cscope 還是會說找不到,真是奇怪耶!
有沒有人知道這是怎麼回事呢? 謝謝您的任何討論!

環境:
debian/lenny (2.6.24-1-686)
cscope version 15.6
sample source: linux-source-2.6.24
tomjpsun
可愛的小學生
可愛的小學生
 
文章: 82
註冊時間: 週一 1月 03, 2005 2:40 pm

文章cyu021 » 週三 5月 21, 2008 6:14 am

我到是找到不少,你應該沒有在正確的路徑呼叫cscope。


代碼: 選擇全部
C symbol: bus_for_each_dev

  File           Function                   Line
0 bus.c          <global>                    293 int bus_for_each_dev(struct bus_type * bus, struct device *
                                                 start,
1 bus.c          <global>                    941 EXPORT_SYMBOL_GPL(bus_for_each_dev);
2 device.h       <global>                     89 int bus_for_each_dev(struct bus_type * bus, struct device *
                                                 start, void * data,
3 tiocx.c        tiocx_exit                  550 bus_for_each_dev(&tiocx_bus_type, NULL, NULL,
                                                 cx_remove_device);
4 mca_32.c       mca_handle_nmi              466 bus_for_each_dev(&mca_bus_type, NULL, NULL,
                                                 mca_handle_nmi_callback);
5 bus.c          amba_find_device            332 bus_for_each_dev(&amba_bustype, NULL, &data, amba_find_match);
6 bus.c          bus_rescan_devices          732 return bus_for_each_dev(bus, NULL, NULL,
                                                 bus_rescan_devices_helper);
7 dd.c           driver_attach               281 return bus_for_each_dev(drv->bus, NULL, drv, __driver_attach);
8 mca-legacy.c   mca_find_adapter             86 bus_for_each_dev(&mca_bus_type, NULL, &info,
                                                 mca_find_adapter_callback);

* 17 more lines - press the space bar to display more *
cyu021
懵懂的國中生
懵懂的國中生
 
文章: 137
註冊時間: 週二 9月 14, 2004 9:52 am

文章cyu021 » 週三 5月 21, 2008 6:18 am

環境(應該沒啥關係):
Distributor ID: Ubuntu
Description: Ubuntu 8.04
Release: 8.04
Codename: hardy

路徑:
linux-source-2.6.24

指令參數(若只是要搭配vim使用):
cscope -bkqRU

指令參數(若是要直接進入cscope操作介面):
cscope -kqRU(第一次)
cscope -d(cscope.out已經存在而且src code未經修改)
cyu021
懵懂的國中生
懵懂的國中生
 
文章: 137
註冊時間: 週二 9月 14, 2004 9:52 am

文章tomjpsun » 週三 5月 21, 2008 10:10 am

經過比較之後,發現是我的錯誤---bus_for_each_dev( ) 在C Symbol 果然找得到,在 global definition 裡找不到。 因為之前都用 global definition 尋找其他函數,才會以為 cscope 找不到該定義。
感謝您的指導!
tomjpsun
可愛的小學生
可愛的小學生
 
文章: 82
註冊時間: 週一 1月 03, 2005 2:40 pm


回到 debian desktop

誰在線上

正在瀏覽這個版面的使用者:沒有註冊會員 和 1 位訪客

cron