在Visual Studio中使用Pdb文件和源代码文件进行调试
我有一个Web项目,从客户端代码发布到外部DLL中的方法,我有源代码文件和外部DLL的pdb文件。 我想做的是使用源代码文件和pdb调试外部DLL。 Visual Studio不停止说没有为该模块加载符号。
要调试dll,总是需要具有相同版本的符号文件。 在调试自己的应用程序时,通常不需要关心它。
但是背景中发生了一些事情。 在构建应用程序时,Visual stuido allways将符号文件放在debug文件夹中,并按照Loading the symbols automatic
下所述加载它们。
(当您分发应用程序时,通常不希望分发这些符号,因此不会将它们复制到发布目录中,而是将构建配置更改为发布。)
加载符号manuell
如果要手动加载符号,可以使用“ Modules
对话框加载它们。
"Debug" -> "Windows" -> "Modules"
。
您可以右键单击一行,并有“加载符号”选项,可以选择要加载的pdb文件。
自动加载符号
Visual Studio还可以在以下某个位置找到符号时自动加载符号。
-
在DLL或可执行文件中指定的位置。 (默认情况下,如果您在计算机上构建了DLL或可执行文件,则链接器会将关联的.pdb文件的完整路径和文件名放在DLL或可执行文件中。调试器首先检查符号是否符号文件存在于DLL或可执行文件中指定的位置。这很有用,因为您的计算机上已编译的代码始终具有符号。)
-
.pdb文件,可能与DLL或可执行文件位于同一文件夹中。
- 任何本地符号缓存文件夹。
- 任何网络,Internet或本地符号服务器以及指定的位置,例如Microsoft符号服务器(如果已启用)。
如果要阅读有关如何使用Understanding symbol files and Visual Studio's symbol settings
更多信息,可以阅读有关Understanding symbol files and Visual Studio's symbol settings
。