当我调试我的应用程序时,我看到消息:
找不到或打开 PDB 文件
我似乎记得能够在调试应用程序时指定 PDB 文件的位置。我怎样才能做到这一点?我正在使用 Visual Studio 2012。
添加符号位置
打开设置:工具->选项->调试->符号并添加 .PDB 文件所在的目录。
此菜单所在的 Visual Studio 界面的屏幕截图 https://i.stack.imgur.com/CI644.png
您可以添加自定义路径,就像为每个项目添加自定义路径一样,您也可以编辑公共路径,Visual Studio 将在其中保存所有 .pdb 缓存。
制作构建后脚本
我在每个项目中进行了编译后事件,将所有 .pdb 复制到一个文件夹,这样我就将所有内容都集中在一处。但你可以单独存储它,我发现这不太方便,因为它需要每次编辑位置列表。
将 .pdb 和 .dll 复制到符号缓存位置的调试后脚本示例:
xcopy /Y /R "$(TargetDir)$(ProjectName).pdb" "D:\VS_CACHE\"
xcopy /Y /R "$(TargetDir)$(ProjectName).dll" "D:\VS_CACHE\"
解决找不到符号的问题
当您处于调试模式时,由于某种原因找不到符号,可能有多种原因:
- 您在符号缓存中有 .pdb,但它已经过时了(如果是这种情况,如果您在代码中放置断点并将其悬停在其上,则可以得到)
- 您有多个使用这部分代码的 .dll(如果是这种情况,如果您在代码中放置断点并将其悬停在其上,则可以得到)
- 符号未加载,在这种情况下,您可以通过以下方式检查:调试->窗口->模块并尝试加载所需的模块。
Visual Studio 界面模块 -> 加载符号的屏幕截图 https://i.stack.imgur.com/eU5qV.png
使调试更容易:
要将 VS 调试器重新附加到正在运行的应用程序,我建议使用这个免费的 Visual Studio 插件(支持 VS 2015):
ReAttach: Visualstudiogallery.msdn.microsoft.com/8cccc206-b9de-42ef-8f5a-160ad0f017ae
这会节省你很多时间! :)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)