我在Win10机器上为G86注册了一个用于x86的程序集。该程序集是为.NET 4.5编译的。现在我正在尝试远程调试此程序集,以便确定客户的问题。
因此,我从程序集所在的主机启动了msvmon.exe。我还在我的调试机上安装了相应的pdb文件,并设置了Debug - > Options - > Debugging - >符号所指示的路径,如下图所示。
现在,当我将msvmon运行的主机名和端口键入“attach-to-process”窗口并在源代码中添加断点时,它不会被命中。特别是它声明“当前文档没有加载符号”。
另一方面,当我尝试调试不在GAC中的程序集时,我可以轻松地调试它 - 即使我没有指定pdb文件的路径(我从中取消选中pdb-location)第一张图片来验证这一点)。因此我很确定没有与网络相关的问题。
所以当我在GAC中注册程序集时,我想知道VS在哪里寻找pdb文件。
答案 0 :(得分:0)
我通过将pdb文件放入我的调试机器的GAC来解决了这个问题。
因此,即使指向pdb文件的路径由Debug - > Options - > Debugging - >符号指示,这似乎不适用于GAC的程序集。您必须将pdb文件放在程序集旁边。通常我们甚至不需要在我们的调试机器上进行组装。但是我不确定这是否也适用于这种情况。
无论如何,如果您在本地调试,这也适用。当程序集位于GAC中时,其pdb文件也需要保留在那里。