2009-09-18 56 views
0

我的盤子上有一個錯誤,用於在我們的應用程序中佔用啓動時間的庫中找到並重寫一個靜態變量。我不熟悉庫的代碼庫,並且要求很好的啓發式/技術/ grep命令/等等。這將減輕我的任務,以確定所述靜態變量的位置?在代碼中定位靜態變量的最簡單方法是什麼?

(附註:我已經搜索代碼庫static;不用說這是一個冗長的結果。)

更新:bug報告只是指出「庫XYZ佔據N毫秒的靜態初始化」;我沒有關於靜態變量的更多信息。我沒有分析日誌,但是我會看看我是否可以從bug記者處獲得這些日誌。

+2

也許這是一個愚蠢的問題,但我也假設你不知道靜態變量的名稱 - 只是「一」存在? – reuben 2009-09-18 16:46:41

+0

你怎麼知道時間是由於這個靜態變量 - 大概你有一些日誌或配置文件運行 - 如果是的話這些日誌等等,因爲這會給更多的東西尋找 – Mark 2009-09-18 16:49:08

+1

'grep「靜態」'可能如果你還沒有這樣做,請稍微縮小你的結果。 – 2009-09-18 16:51:48

回答

3

你可以嘗試首先執行一個nm -aC <libname>靜態和全局變量(IIRC它們應該以B/b或T/t作爲前綴),然後在源代碼中查找這些變量。它可能會縮小乾草堆的範圍。

相關問題