.pdb 文件在调试 Visual Studio 扩展时不可用

.pdb files not available when debugging Visual Studio Extension

[环境:W10 x64 Pro v. 20H2,Visual Studio Pro 2019 16.9.4]

我正在尝试调试一个开源项目,它是一个 Visual Studio 扩展 (AnkhSVN2019),并且能够启动一个 VS 扩展调试会话,我修改的代码正在执行。

但是,我在代码中设置的任何断点在运行时都被禁用,当我将鼠标悬停在禁用的断点上时,我收到消息

The breakpoint will not currently be hit. No symbols have been loaded for this document.

当我在调试会话中时,我打开 Modules window(调试 -> Windows -> 模块),我看到我感兴趣的 dll 已加载并位于 c:\users\conrad\appdata\local\microsoft\visualstudio.0_b1ddb83bexp\extensions\extensions-16.0_b1ddb83b\wyo52n3q.czx\Ankh.UI.dll。 (它确实在那里。)虽然那个目录中没有 Ankh.UI.pdb。一些希望相关的观察结果:

回到 Modules window,如果我右键单击 Ankh.UI.dll 行并选择 Symbol Load Information...,将打开一个包含以下信息的对话框:

C:\Program Files (x86)\Microsoft Visual Studio19\Professional\Common7\IDE\Ankh.UI.pdb: Cannot find or open the PDB file.
c:\users\conrad\appdata\local\microsoft\visualstudio.0_b1ddb83bexp\extensions\extensions-16.0_b1ddb83b\wyo52n3q.czx\Ankh.UI.pdb: Cannot find or open the PDB file.
C:\AnkhSVN2019\src\Ankh.UI\obj\x86\Release\Ankh.UI.pdb: Cannot find or open the PDB file.
C:\Windows\Ankh.UI.pdb: Cannot find or open the PDB file.
C:\Windows\symbols\dll\Ankh.UI.pdb: Cannot find or open the PDB file.
C:\Windows\dll\Ankh.UI.pdb: Cannot find or open the PDB file.

(顺便说一句,没有 C:\AnkhSVN2019\ 目录。)

我在这里错过了什么?

我已经下载了这个项目,但是你如何调试这个项目?

我使用下面的步骤调试它,断点(Ankh.UI)可以被击中,并且Ankh.UI pdb文件可以被加载。

  1. 右键单击 Ankh.Package 项目
  2. 打开Debug
  3. 使用“C:\Program Files (x86)\Microsoft Visual Studio19\Community\Common7\IDE\devenv.exe”将 Start Action 更改为 Start external program
  4. 在命令行参数中添加/rootsuffix Exp

从扩展所有者那里获得了足够的(虽然可能不是完全必要的)步骤列表,以使我的环境处于扩展可调试的状态:

  • 启动实验实例(在调试器中)
  • 从实验实例中删除 AnkhSVN(通过 Extensions/Manage 扩展)
  • 关闭实验实例
  • 从普通实例中删除 AnkhSVN
  • 关闭visual studio
  • 在开始菜单中,点击重置Visual Studio2019实验实例link
  • 再次在 visual studio 中打开 AnkhSVN
  • 清洁溶液
  • 启动调试器(它将重建解决方案 – 不要先构建解决方案!)
  • 如果它没有将AnkhSVN安装到实验实例中,则关闭它并重新启动调试器

这个步骤列表在我看来完全是疯狂的,应该不是调试扩展所必需的。无法判断这是 VS 的缺点还是由于扩展的架构不佳。但至少现在我可以调试它了。