基本上我想要这样做:pdb文件包含源文件的位置(例如C:\dev\proj1\helloworld.cs
).是否可以修改该pdb文件以使其包含不同的位置(例如\more\differenter\location\proj1\helloworld.cs
)?
您可以使用Windows调试工具的源索引功能,该功能将保存对源存储库中文件的相应修订的引用,作为PDB文件中的备用流.
如果您希望对pdb文件中嵌入的路径更通用,可以先使用MS-DOS subst
命令将特定文件夹映射到驱动器号.
subst N:
然后打开相对于N:驱动器的项目并重建它.您的PDB文件将引用N:上的源文件.现在,无论您放置哪一组特定的源文件都无关紧要,只要您随后调用根目录"N:"就像您构建它时一样.
John Robbins在其出色的书"Microsoft .NET的调试应用程序"和Microsoft Windows中推荐了这种做法.