2010-08-28 42 views
4

我一直在閱讀有關PDB文件以及它們如何與調試做,但爲什麼我要保持我船後PDB文件?如果出現問題,我可以在我的機器上進行調試。我錯過了什麼?.PDB文件的實際用途是什麼?

回答

2

爲了能夠正確調試,您需要在PDB文件中維護的符號。 PDB也可以保留髮布版本。

建議保留PDB的原因是,整個項目不需要再次重建,實際上這通常是構建服務器上的多日過程。在非常大的項目中,這可能非常麻煩。維護PDB將幫助您快速從SCM中檢索二進制文件和符號,並且可以更快地解決提交的問題(如果有的話)。

1

.pdb文件即可發貨給客戶以獲得準確的堆棧跟蹤。如果沒有.pdb,所有的堆棧跟蹤都只包含內存地址,並且很難確定這些地址對應的「手動」功能。但是,如果你有.pdb文件,調試器可以用符號重新構建堆棧跟蹤,這使得生活變得更加簡單。

另外,有時您不能在您的機器上重現問題,而查看問題的唯一方法是調試客戶的機器。這取決於您與客戶的特定關係,當然這是可能的...

+3

其實他們並不需要的PDB - 你做什麼,客戶只需向您發送轉儲。你把它加載到你的調試器,具有沿着你的.pdb的 – 2010-08-28 03:21:01

+1

對於本地應用程序,航運.pdb文件到你的客戶是很危險的,因爲它們含有比相比,需要.PDB文件管理應用程序的更多信息。所以你應該問你的客戶沒有pdb文件的崩潰轉儲,然後用pdb文件在你的機器上分析它們。 – 2010-08-28 04:02:45

3

PDB文件包含調試信息。如果至少爲發佈版本的軟件保留它們,則可以調試客戶可能遇到的任何崩潰。您不需要向他們發送PDB,只需讓他們使用Windows收集崩潰轉儲(.dmp)即可。然後,您可以打開例如WinDbg中的轉儲並調試問題。

1

在我的工作中重建或調試客戶崩潰時,我們生活和死於我們的PDB。我已經檢查了崩潰轉儲文件的年代和年代的二進制文件。謝天謝地,我們保留了PDB的這些年。如果沒有PDB,你只需花費幾個月的時間調試一次故障轉儲,就可以親吻你的時間。而如果你確實有PDB的話,那麼在調試一個小型轉儲的時候,導航堆棧變得非常容易。

並且一定要保留與二進制文件和PDB對應的源文件的副本。爲此使用版本控制是很好的。但有時你並不總是有這種奢侈品來對齊一切。

相關問題