我刚刚构建了我的应用程序,其中包含一些C和C#代码,并将其安装在另一台机器上.当我连接远程调试器时,我可以调试C代码,然后逐步调试它.但是,当我尝试调试C#代码时,似乎没有加载符号.我已经尝试在visual studio中调出模块窗格并浏览了正确的.pdb文件,但我只是得到一个消息框告诉我它不匹配.
我无法弄清楚为什么会这样.我从这里使用chkmatch:http://www.debuginfo.com/tools/chkmatch.html – 报告我选择的.exe和.pdb匹配.
我已经擦除了我所有的来源,取出并重建了所有东西,所以我很确定我没有遇到一些旧的错误.pdbs.
我发现了这个相关的问题The Symbol file MyFile.pdb does not match the module但是,更多的是做本机符号不匹配.我的原生符号匹配,它只是符号拒绝匹配的.net程序集.
我们非常欢迎任何有待检查的建议.
谢谢.
更新:我已设法立即加载符号!但是……解决方案是将符号文件复制到远程计算机并将它们放在与远程计算机上的.exe和dll相同的文件夹中. Visual Studio似乎拒绝从我的本地计算机加载它们.如果我右键单击模块窗口中的模块并选择“符号加载信息…”,这将显示它尝试加载符号的路径,并且包含pdb文件在我的位置的正确本地路径机.我查看了pdbs的安全性和访问控制属性,并给予了所有人的所有访问权限.
这真的令人困惑,我相信在过去我已经能够加载符号了.我想不出任何我改变的东西会突然导致它停止工作.
为什么Visual Studio拒绝从本地计算机加载符号?