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