2009-12-08 133 views

回答

10

是的。在连接到远程站点时,需要确保PDB(带有行信息的调试信息)存在并加载到调试器中,因为如果没有它,调试器无法将源行与字节码偏移相关联,这是设置断点所需的。

+3

你说得对,它应该可以工作,但PDB不需要在远程机器上。远程调试监视器不需要访问PDB。 PDB需要放在Visual Studio运行的机器上 - 它是Visual Studio,它使用PDB从源代码行映射到地址,并将这些地址传递给远程调试监视器。 – RichieHindle 2009-12-08 23:22:36

+2

远程构建必须是DEBUG构建还是可以构建为RELEASE? – 2009-12-08 23:30:36

+0

没错,那就是我想说的,但是输入错了。固定。我不明白为什么我会低调,因为基本信息仍然正确。 – Lucero 2009-12-08 23:31:05

3

快速回答是,但是有很多不同的事情可能会阻止断点被触发。很久以前,我贴这个清单作为一个回答另一个问题,它可以帮助你现在:

Why does my C# debugger skip breakpoints?

特别检查,看是否为断点的图形是固体(表示断点应,如果被击中你到达它),或者如果断点只是一个空的圆圈,旁边有一个小惊叹号 - 如果你得到感叹号,然后检查你悬停在它上面的工具提示,它可能会告诉你问题是什么。

最后,它完全有可能调试发布版本,但是你需要确保当你建立你生产的符号 - 这些可以是在一个外部文件(.PDB),或有时它们可​​以嵌入到(虽然我自己从来没有这样做过)

-1

是的,你可以。使用F9创建中断点。要留意以下,而远程调试的..

有两个原因:远程调试器不命中断点

  1. 错误的符号。

  2. 在调试时使用错误的.Net框架(您可以在visual studio中的“attach to process”窗口中进行选择)。

相关问题