如何在 Visual Studio 2012 中加载符号

问题描述 投票:0回答:1

当我调试我的应用程序时,我看到消息:

无法找到或打开 PDB 文件

我似乎记得在调试应用程序时能够指定 PDB 文件的位置。我怎样才能做到这一点?我正在使用 Visual Studio 2012。

symbols pdb-files
1个回答
18
投票
添加符号位置

打开设置:工具 -> 选项 -> 调试 -> 符号 并添加 .PDB 文件所在的目录。

screenshot of Visual Studio Interface where this menu located

您可以添加自定义路径,就像每个项目一样,您也可以编辑公共路径,Visual Studio 将在其中保存所有 .pdb 缓存。

制作构建后脚本

我在每个项目中进行了编译后事件,将所有 .pdb 复制到一个文件夹,这样我就将所有内容都集中在一个地方了。但你可以单独存储它,我发现这不太方便,因为它需要每次编辑位置列表。

将 .pdb 和 .dll 复制到符号缓存位置的调试后脚本示例:

xcopy /Y /R "$(TargetDir)$(ProjectName).pdb" "D:\VS_CACHE\"
xcopy /Y /R "$(TargetDir)$(ProjectName).dll" "D:\VS_CACHE\"
解决找不到符号的问题

当您处于调试模式时,由于某种原因找不到符号,这可能是由于多种原因造成的:

  1. 您在符号缓存中有.pdb,但它已经过时了(如果是这种情况,如果您在代码中放置断点并将其悬停在其上,您可以得到)
  2. 您有多个.dll使用这部分代码(如果是这种情况,如果您在代码中放置断点并将其悬停在其上,您可以得到)
  3. 符号未加载,在这种情况下,您可以通过以下方式检查:调试-> Windows -> 模块并尝试加载所需的模块。

screenshot of Visual Studio interface Modules -> 加载符号

使调试更容易:

要将 VS 调试器重新附加到正在运行的应用程序,我建议使用这个免费的 Visual Studio 插件(支持 VS 2015):

重新附加:visualstudiogallery.msdn.microsoft.com/8cccc206-b9de-42ef-8f5a-160ad0f017ae

这会节省你很多时间! :)

© www.soinside.com 2019 - 2024. All rights reserved.