附加外部项目源代码的最佳/正确方法是什么,以便我可以调试它?
我已经从CodePlex下载了它的源代码,所以我拥有所有.cs类。
我设法从pdb文件导入,但遗憾的是,此项目编解码器(SimpleInjector)中没有此类文件。
在VS上导入SimpleInjector解决方案后,我可以构建它并生成.pdb文件,但我想知道它是否是正确的方法。
答案 0 :(得分:2)
如果您的目标是逐步调试二进制文件,那么您将需要PDB文件。通常,编译的程序集不包含将源代码行与单个IL命令关联所需的信息。
PDB文件是一个"程序数据库文件"其中包含大量有用的调试信息;其中之一是每个编译的IL指令与生成它的源代码行之间的映射。它还保留了一个符号表,列出了编译出来的东西的名称(如本地变量名等).PDB嵌入了每个源文件的完整路径名,所以如果你的源代码在同一个地方在编译时调试,调试器会自动找到它。
如果.pdb文件存在但源代码已移动,VS将为您提供浏览.cs文件的选项。但是,如果.pdb文件根本不存在,那么您的选择将相当有限。
您唯一的风险是您正在调试与您的PDB文件不匹配的程序。因此,如果您尝试调试项目,则应从头开始在Visual Studio中重建并运行二进制版本。
(当然,调试没有符号和源码加载到Studio中是可能的,但要掌握它是一项更难的技能。)