代码之家  ›  专栏  ›  技术社区  ›  MakePeaceGreatAgain

从gac远程调试程序集

  •  0
  • MakePeaceGreatAgain  · 技术社区  · 7 年前

    我在gac中为win10计算机上的x86注册了一个程序集。程序集是为.NET 4.5编译的。现在,我试图远程调试这个程序集,以确定一个客户与它的问题。

    因此,我从程序集所在的主机启动了msvmon.exe。我还在调试计算机上安装了相应的pdb文件,并相应地设置了调试-->选项-->调试-->符号指示的路径,如下图所示。

    enter image description here

    现在,当我在“attach to process”窗口中键入msvmon运行的主机名和端口,并在源代码中添加一个断点时,它不会命中。它特别声明“没有为当前文档加载任何符号”。

    enter image description here

    另一方面,当我试图调试一个不在gac中的程序集时,我可以很容易地调试它——即使我没有指定pdb文件的路径(我从第一个映像中取消选中pdb位置来验证这一点)。因此,我很确定没有网络相关的问题。

    所以我想知道当程序集在gac中注册时,vs在哪里查找pdb文件。

    1 回复  |  直到 7 年前
        1
  •  0
  •   MakePeaceGreatAgain    7 年前

    我还通过将pdb文件放入调试机器的gac中来解决这个问题。

    因此,即使pdb文件的路径由debug--gt;options-->debugging-->符号指示,对于来自gac的程序集来说,这似乎也不起作用。你必须把pdb文件放在程序集旁边。通常我们甚至不需要调试机器上的程序集。但是我不确定这是否也适用于这个场景。

    无论如何,如果在本地调试,这也适用。当程序集位于gac中时,它的pdb文件也需要保留在那里。