2011-08-03 43 views
1

Visual Studio中的断点如何工作?我问这是因为我在类头中声明了一些内联函数,并且每当我在其中一个中设置断点时,我认为IDE还会将断点放到函数调用的任何位置。当然这是有道理的,但内部究竟是如何完成的?VisualStudio中的断点

回答

5

你正在放置断点的函数是内联的,这就是为什么调试器巧妙地将它们放在其他地方的原因。它可能是你正在调试一个非调试版本。尝试

  • 禁用所有优化
  • 进行函数非内联

你的问题不要求这一点,但你可以在这里阅读how breakpoints are implemented.

+0

该链接实际上解释了什么是我一直在寻找。禁用优化会使我的函数非内联,即使它们是在头文件中定义的? –

+0

用于调试版本 - 是的。这些函数不会被编译为内联函数,而且会有助于调试。 – Ajay

+0

如果您打算从另一个模块访问它并不导出它,该怎么办? –