【发布时间】:2014-02-05 02:37:52
【问题描述】:
我用 C# 创建了一个“Hello World”程序,并将其放在远程服务器上以测试远程调试。我复制了 *.exe 和 *.pdb 文件并将其放在远程服务器上的同一个文件夹中,然后运行 msvsmon.exe 而不进行身份验证。
我在远程服务器上运行应用程序,并在本地计算机上使用 Visual Studio 2005,附加到二进制文件以进行调试。但是在附加之后我发现我设置的断点不会被命中。在模块窗口中,它显示我的应用程序的符号未加载。当我手动加载它们时,它说符号与应用程序不匹配,而实际上它们是同时构建的。
我可能在这里遗漏了一些东西,但我对 C++ 项目执行了相同的步骤,并且效果很好。谁可以帮我这个事?谢谢。
编辑:如果有帮助,当我检查模块窗口时,对于我的应用程序,它说“符号文件中没有本机符号”而不是“没有加载符号”
【问题讨论】:
-
您是否启用了“Microsoft Symbol Servers”功能?
-
我不认为您可以在没有身份验证的情况下调试托管代码。附加调试器时是否选择附加到托管代码?
-
您确定您选择了全 PDB 吗?如果不是,则无法附加到正在运行的应用程序进行调试。
-
嗨 MattC,是的,我的项目正在使用 Full-PDB
标签: c# remote-debugging debug-symbols