Visual Studio 中的远程调试:符号文件与模块不匹配
我一直在网上搜索,试图找到这个问题的答案,但所有其他建议都不起作用。
我有一个 C# .net 3.5 dll,它是另一个程序的加载项。当用户按下某个按钮时,程序会调用 dll。我的工具出现与用户计算机的特定设置相关的错误(在我的计算机上无法重复),因此我想远程调试它。
我在远程 PC 上设置了调试工具(2010,但也在 VS 2008 中尝试过获得相同的结果),并运行我的 DLL。然后我转到“调试”>附加到进程,选择远程 PC,选择托管我的 dll 的 exe“Revit.exe”,然后就可以正常附加了。但我无法设置任何断点或任何东西,因为它说没有加载符号。 (带有/的红色未填充圆圈!)
我打开模块窗口,右键单击我的DLL“PLT2.dll”并尝试从符号路径加载符号,我选择位于网络驱动器旁边的PDB文件DLL 并显示它与模块不匹配。
我根据在网上找到的建议尝试了以下操作:
- 检查代码是否未设置为优化,并且输出调试信息设置为完整。
- PDB文件肯定与DLL匹配,我把它们全部删除,然后重建它。
- 两台计算机上的符号路径是相同的
- 仅启用我的代码
有人对我能做什么有任何想法吗?
I've been scouring the net trying to find an answer to this question, but all other suggestions don't work.
I have a C# .net 3.5 dll that is an add-in to another program. The program calls the dll when the user presses a certain button. My tool is having an error that is related to the specific setup of the users computer (unrepeatable on mine) so I want to remote debug it.
I have setup debugging tools (2010, but have also tried in VS 2008 for the same result) on the remote PC, and run my DLL. I then go to Debug > Attach to Process, select the remote PC, select the exe 'Revit.exe' that hosts my dll, and it attaches ok. But I can't set any breakpoints or anything as it says there are no symbols loaded. (red unfilled circle with /!)
I open the modules window, right click on my DLL 'PLT2.dll' and try and load the symbols from the symbol path, I select the PDB file which is situated on the network drive right next to the DLL and it says it does not match the module.
I have tried the following based off suggestions I've found on the net:
- Checked that the code is not set to optimize, and that output debug info it set to full.
- PDB file definately matches the DLL, I deleted them all, and rebuilt it.
- The path to symbols on both computers is the same
- Enabled Just My Code
Has anyone got any ideas on what I could do?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
远程机器是否会获取不同版本的二进制文件?
如果删除在“符号设置”对话框中添加的所有信息,模块窗口会显示从哪个路径加载二进制文件?
Could the remote machine be picking up a different version of your binary?
If you remove all the info you added in the Symbols Settings dialog, which path does the modules window show the binaries being loaded from?