2016-09-06 42 views
0

我使用WinDBG來調試測試人員發給我的轉儲。現在,我從Microsoft的符號服務器獲取調試符號時遇到了非常差的性能。我不是唯一一個,所以我期望微軟目前有服務器問題,但它突出了一些關於WinDBG的符號緩存,我以前沒有注意過。WinDBG在一段時間後清除緩存的pdb文件嗎?

很多時候,當我打開一個新的轉儲它試圖下載所有Microsoft符號的每個pdb。它會在我的調試會話期間緩存它們,如果我關閉WinDBG並再次打開它,它通常會打開而不必下載符號。但是,如果我打開前幾天使用的轉儲,它似乎經常會丟失之前下載的符號。這似乎是清除舊pdb文件或一些這樣的..

我有我的符號路徑設置是這樣的:

SRV*C:\SymCache*http://msdl.microsoft.com/download/symbols 

所以,問題是可以控制的WinDbg清洗多久緩存的符號?由於磁盤價格便宜,我很樂意爲它填充幾GB符號文件...

+0

[我已經設置在WinDbg中的符號路徑,但爲什麼每一次的WinDbg可能的複製下載相同的符號爲相同的exe?](http://stackoverflow.com/questions/39324154/ive-set-symbol-path-in-windbg-but-why-each-time-windbg-downloads-same-symbol-f ) –

+0

我不相信這是同樣的問題。我剛剛打開了上週打開的幾個轉儲,並且應該包含所有符號。我抓到了WinDBG redownloading ntdll.pdb。這是一個符號文件,它始終可以在符號服務器上找到,所以我不明白爲什麼它應該需要redownloading,如果該版本以前曾見過。我想我肯定知道的唯一方法是記錄我的符號緩存文件夾的內容,並觀察它隨着時間的推移正在做什麼。 – Benj

+0

也許社區可以建立一個鏡像服務器。如果每個人都貢獻他的本地緩存符號,我想我們可以得到相當好的覆蓋率 –

回答

1

不,符號不會被清除。我不知道有任何信息會告訴WinDbg符號的年齡,除非時間戳不可靠。文件pingme.txt是一個空文件。

正如@blabb在評論中提到的那樣,由於您可以使用download symbol packages (Microsoft)進行非常舊的符號的離線使用,所以清除會起反作用。 Windows XP。

在我的電腦時,我加入了公司,我得到了,2014年的符號仍然存在:

Symbols of 2014

+1

嗯,你說得對。至少我會在幾個月前重建我的筆記本電腦時重新開始工作......但是我發誓它會重新下載之前使用過的pdbs ..我會密切關注它,看看我能否抓住它出。 – Benj