在 Visual Studio 中使用 Pdb 文件和源代码文件进行调试

Debugging with Pdb file and Source Code File in Visual Studio

我有一个 web 项目,它从客户端代码发布到外部 dll 中的一个方法,我有这个外部 dll 的源代码文件和 pdb 文件。我想做的是使用源代码文件和 pdb 调试外部 dll。 Visual studio 不停地说没有为模块加载符号。

要调试一个相同版本的符号文件总是需要的。当您调试自己的应用程序时,您通常不必关心这个。

但是后台发生了一些事情。 Visual Studio 在构建应用程序时始终将符号文件放在调试文件夹中,并按照 Loading the symbols automatic 中所述加载它们。

(当您分发您的应用程序时,您通常不想分发这些符号,因此它们不会被复制到您将构建配置更改为发布的发布目录。)

正在手动加载符号

如果您想手动加载符号,可以使用 Modules 对话框加载它们。

"Debug" -> "Windows" -> "Modules".

您可以右键单击一行,然后会出现“加载符号”选项,让您指定要加载的 PDB 文件。

正在自动加载符号

Visual studio 也会自动加载可以在 listed in the Specify Symbol (.pdb) and Source Files in the Visual Studio Debugger documentation:

位置之一找到的符号
  • The location that is specified inside the DLL or the executable file.

    (By default, if you have built a DLL or an executable file on your computer, the linker places the full path and file name of the associated .pdb file inside the DLL or the executable file. The debugger first checks to see if the symbol file exists in the location that is specified inside the DLL or the executable file. This is helpful, because you always have symbols available for code that you have compiled on your computer.)

  • .pdb files that could be present in the same folder as the DLL or executable file.

  • Any local symbol cache folders.

  • Any network, internet, or local symbol servers and locations that are specified on, such as the Microsoft symbol server if enabled.

如果您想了解更多关于符号如何与 visual studio 一起使用的信息,您可以阅读 this 关于 Understanding symbol files and Visual Studio’s symbol settings 的文章。