带有Visual Studio 10中的库的PDB文件

时间:2013-06-11 19:43:18

标签: c++ visual-studio-2010 debug-symbols

在MS Visual Studio 10中使用调试信息构建静态库(.LIB)时, .PDB的名称始终为vc100.pdb(与构建.DLL相对,调试信息为[MyProjectName].pdb < / p>

这对我来说是个问题,因为我正在尝试将几个不同的库(及其调试符号)复制到"PublishedLibraries"的目录中,但所有vc100.pdb名称显然都会发生冲突。

我确信我可以更改每个.PDB的名称以匹配其.LIB,但对我来说,更大的问题是为什么 Visual Studio认为{{1是一个比vc100.pdb更好的名称?如果所有名称冲突,我们如何使用多个库中的Debug Info?

1 个答案:

答案 0 :(得分:20)

如果你使用/ Z7(而不是/ ZI或/ Zi)[在UI C / C ++中 - &gt;一般 - &gt;调试信息格式]然后调试信息嵌入在lib文件本身,而不是单独的pdb,这意味着你不必担心相同的名称。

当你构建最终的可执行文件(.exe或.dll)时,你将从所有的小嵌入式pdb中获得一个合并的pdb。

请参阅this question了解详情

我总是在我的团队中管理这个问题的方式,因为你不能在构建过程中丢失调试信息。它有点膨胀libs [但总共没有lib和pdb],但是你可能不会发布libs,你不应该担心这个。