回答

2

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

但有些事情发生在后台。当您构建应用程序时,Visual Stuart allways会将符号文件放入调试文件夹中,并按照Loading the symbols automatic中所述加载它们。

(当你发布你的应用程序,你通常不希望分发这些符号,因此他们将不会被复制到release目录你改变你的构建配置发布。)

加载符号manuell

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

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

你可以右键点击一行,并有“加载符号”选项,它可以让你指定一个pdb文件加载。

enter image description here

自动加载的符号

的Visual Studio还全自动加载符号时,他们可以在以下位置之一找到。

  • 在DLL或可执行文件内指定的位置。 (默认情况下,如果您的计算机上已经生成了DLL或可执行文件,则链接程序会将关联的.pdb文件的完整路径和文件名放入DLL或可执行文件中。调试器首先检查是否符号文件存在于DLL或可执行文件内部指定的位置,这很有帮助,因为您的计算机上始终有可用于编译的代码的符号。)

  • 可能存在的.pdb文件在与DLL或可执行文件相同的文件夹中。

  • 任何本地符号缓存文件夹。
  • 指定的任何网络,互联网或本地符号服务器和位置,例如Microsoft符号服务器(如果启用)。

enter image description here

如果您想了解更多有关符号如何与Visual Studio使用您可以阅读this文章关于Understanding symbol files and Visual Studio’s symbol settings

相关问题