我一直在了解PDB文件以及它们与调试的关系,但是为什么我要在发布后保留pdb文件呢?如果出现问题,我可以在自己的计算机上进行调试。我错过了什么吗?
PDB文件包含调试信息。如果您至少保留它们用于软件的发布版本,您可以调试客户可能遇到的任何崩溃。您不需要发送PDB,只需让他们使用Windows收集崩溃转储(.dmp)。然后,您可以在例如WinDbg中打开转储并调试问题。
可以将.pdb文件发送给客户以获取准确的堆栈跟踪。如果没有.pdb文件,所有的堆栈跟踪都只包含内存地址,手动确定这些地址对应哪些函数是很麻烦的。但是如果有.pdb文件,调试器可以使用符号重构堆栈跟踪,这样就方便多了。
此外,有时您无法在自己的计算机上复现问题,唯一的方法是在客户的计算机上进行调试。当然,这取决于您与客户的具体关系是否可行...