我能够连接到远程计算机并调试并查看源代码,但是当我设置一个断点时,Visual Studio不会破坏它。
那么有什么需要做的吗? 或者在远程调试时是否根本无法使用断点?
答案 0 :(得分:10)
是的。在连接到远程站点时,您需要确保PDB(带有行信息的调试信息)存在并加载到调试器中,因为没有它,调试器无法将源行与字节码偏移相关联,这是设置断点所必需的。
答案 1 :(得分:3)
快速回答是是,但是有许多不同的事情可能会阻止触发点。很久以前我发布这个清单作为另一个问题的答案,现在可能对你有所帮助:
Why does my C# debugger skip breakpoints?
特别检查断点的图形是否为实线(表示如果到达断点应该被击中)或者断点只是一个空白的圆圈,旁边有一个小感叹号 - 如果你得到的话感叹号然后检查你悬停在它上面时得到的工具提示,它可能会告诉你问题是什么。
最后,完全可以调试RELEASE构建,但是你需要确保在构建时生成符号 - 这些符号可以在外部文件(.pdb)中,或者有时它们可以嵌入到装配本身(虽然我自己从未这样做过)
答案 2 :(得分:-1)
是的,你可以。使用F9创建断点。远程调试时请注意以下内容。
远程调试器没有遇到断点的原因有两个
错误的符号。
在调试时使用错误的.Net框架(您可以在visual studio中的“附加到进程”窗口中选择)。