2012-05-15 35 views
3

我使用Project White來測試我的應用程序。該項目的二進制文件包含Castle項目的一個DLL:Castle.DynamicProxies2.dll(或這些行中的某個項目)。不幸的是,這個DLL沒有提供符號(PDB)文件。其他一些DLL的確有自己的符號文件。如何保存生成的符號文件?

當我運行我的UITest時,需要花費很多時間來生成此Castle DLL的符號文件。我想將這個生成的DLL保存在某個地方,所以它不必一直生成。

我在我的Visual Studio設置中有一個符號緩存文件夾,當我運行應用程序時,按下「加載所有符號」,我得到一個消息框告訴我它正在下載Castle DLL的符號文件。但是,它不會出現在我的緩存文件夾中(可能是因爲它是專有的非Microsoft DLL)。 「始終加載模塊旁邊的符號」選項已打開。如果我關閉它,甚至連我自己項目的符號都不會加載。 Castle DLL被複制到輸出文件夾,否則它將不會運行。

有什麼辦法保持這個自動生成的符號文件,而不是每次都創建它?我查看了臨時文件夾,但找不到它。

+0

PDB文件不是從已編譯的DLL生成的,因爲準確生成它們所需的數據不再存在於DLL中,只存在於源代碼(例如本地變量名稱)中。它們通常包含在DLL中用於調試目的。可以使用反編譯器重新創建PDB的近似值,但似乎並未使用它。那麼「生成符號文件」是什麼意思?你確定生成了一些東西嗎? –

+0

嗯,Visual Studio告訴我「加載符號文件的城堡...」我希望有一種方法來保存這個或告訴VS不要找它,因爲它需要相當多的時間每次。現在行爲似乎消失了,不知道我改變了什麼。我將調試選項更改爲僅爲我自己的解決方案程序集加載符號,同時仍將符號文件加載到模塊旁邊。 – Davio

回答

0

這些類型的文件夾本身有一些與它們相關的錯誤。從以前的經驗中發現,第一次嘗試的解決方案應該是重新啓動計算機,然後重新打開VS.該文件夾應該返回到其標準設置,並應該正常運行(一段時間)。還沒有找到導致與文件夾tho不當行爲的VS動作。 http://msdn.microsoft.com/en-us/library/x54fht41.aspx是我目前正在從中搜索,如果你看到的東西我沒有。

相關問題