关于处理 .pdb 文件的最佳做法,网上有一些相互矛盾的信息,我将非常感谢您的澄清。
例如,this来源说“PDB文件与源代码一样重要”,而this表示.pdbs不属于源代码控制。
我希望第一个问题的答案是“不”,第二个问题的答案是“是”,但我可能会遗漏一些东西。
答案 0 :(得分:1)
PDB文件不应该进入源代码管理。它们是构建工件的一部分,应该与构建的输出一起保存(而不是在构建后丢弃)。应保留历史版本,并应跟踪当前发布的部署的版本,以便在需要时可以从相应的存档版本中提取PDB。
答案 1 :(得分:1)
除了Craig W.的正确回答:
除了sourceControl系统(例如svn / git)之外,您还应该使用构建系统来存档任何构建。
一个不错的构建系统是Jenkins,它是一个易于理解的构建系统,具有我期望的所有功能。如果您分发您的软件,您登录jenkis并点击“立即构建”。 Jenkins然后从svn / git检出当前版本并构建您的软件(使用批处理)并保存所有文件,包括调试/符号文件。 jenkins每次都应该增加二进制文件的内部版本号,并且应该将内部版本号设置为二进制文件(dll和exe)。在崩溃时你会看到事件查看器中的版本,并且可以从包括源的崩溃版本中获取所有文件。
我还建议将jenkins构建号写入二进制文件。因此你总是可以登录jenkins选择内部版本号然后你得到所有调试文件,并在日志中看到它是由它构建的svn版本(因此你也可以检查正确的源代码)。对于版本控制dll或exe文件,您可以使用(在.net中使用脚本编辑配置文件):http://www.codeproject.com/KB/install/VerPatch.aspx?msg=3207401并将其集成到构建批处理中。
在这里你找到了jenkins:https://jenkins-ci.org/
答案 2 :(得分:0)
请参阅SO上的this post。您不需要将* .pdb文件添加到源代码管理中。启动新的调试会话时会生成这些文件。