2011-10-27 90 views
1

如果我必须通过WinDbg执行调试,是否有专业版或缺陷版或有版本与调试版本?我只是想知道是否有任何限制使用发布版本进行调试发行版与调试版本

回答

2

首先,您需要调试信息(.pdb),您可以在两者中使用。然后发布版本通常优化:

  • 一些变量被映射到寄存器(而不再占用内存),
  • 一些内联函数(和你不能把一个断点到他们)
  • 一些代码被重新排序

这使得很难理解目前发生了什么。

因此,一般来说,发布版本的速度会更快,但通常很难调试。除此之外,你不应该看到任何严重的区别。

+0

注意,PDB文件格式的下一个版本将不得不提高对调试优化代码支持一个很好的讨论。漂亮的东西,这是一个有趣的文章:http://blogs.microsoft.co.il/blogs/sasha/archive/2011/10/12/debugging-optimized-code-in-visual-studio-11.aspx – snoone

+0

当你说发布会更难调试时,你可以给出一些更具体的例子,说明如何通过调试构建更容易吗? –

+0

@Silverlight学生:好吧,想象一下,你想设置一个断点到某个函数的左大括号上,以便在函数被调用时它会被命中。如果该函数内联,则不能这样做 - 将不会调用该函数,因此您必须推断其呼叫站点的位置以及哪个代码与该函数内联代码完全对应。 – sharptooth