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