是否可以在创建DLL后(重新)创建PDB文件

Arv*_*rve 11 pdb-files

我有DLL,我有用于创建DLL的确切来源.当我们从客户那里获得转储文件时,我希望我们的本地符号服务器工作.(在我们的产品的下一个补丁/发布之前,无法在客户站点更新DLL)

Mar*_*kus 10

这似乎是不可能的.请看这里:为什么Visual Studio需要调试器符号文件与它们构建的二进制文件完全匹配?

或者这篇文章:PDB文件:每个开发人员必须知道什么

引用"PDB文件:每个......":

最重要的部分是调试器如何知道这是该二进制文件的完全匹配的PDB文件.这是通过嵌入在PDB文件和二进制文件中的GUID完成的.如果GUID不匹配,您肯定不会在源代码级别调试模块.
.NET编译器和本机链接器将此GUID放入二进制文件和PDB中.由于编译行为会创建此GUID,因此请暂停并考虑这一点.如果您有昨天的构建并且没有保存PDB文件,您是否能够再次调试二进制文件?没有!这就是为每个构建保存PDB文件至关重要的原因.因为我知道你在考虑它,所以我会继续回答你脑海中已形成的问题:不,没有办法改变GUID.

  • 看起来你是对的.但看起来chkmatch在某些情况下可以使用:http://www.debuginfo.com/tools/chkmatch.html (2认同)