断点不指向实际代码

时间:2013-03-28 11:07:39

标签: c++ visual-studio-2010 debugging doxygen breakpoints

有没有人知道什么可能导致断点不显示代码在特定文件中的实际位置?

这是第二次发生在我身上..也许有人可以提供帮助,我的参数:

我在Visual Studio 2010工作。

这个特别是一个静态的lib,但它也发生在dll的内部。

PDB是在Z7中生成的,尽管在默认的pdb生成中也发生了这种情况。

我确信代码是使用正确的lib编译的(也发生在dll中,所以..)

我还有一些Doxygen评论,我首先怀疑会引起这个问题(可能是吗?)

  • 附件是一个图像,显示断点箭头与其实际位置的callstack进行比较的位置..

谢谢! Bad debugging

3 个答案:

答案 0 :(得分:0)

如果您调试启用了优化的代码,则可能只是内联该方法。这至少是一个经过验证的断点来源,没有指向正确的位置。

答案 1 :(得分:0)

我一般注意到的一个场景是源文件因调试时从源控件中获取文件而发生更改。断点使用旧代码的行号。

答案 2 :(得分:0)

所以,显然视觉工作室文本编辑器不能很好地适应CR .. 我发现该文件有一些CR(而不是CRLF)并且将编译器混淆在一起.. 当我实际发生编译错误时,它甚至没有指向正确的行......

所以我在每次CR之后添加了LineFeeds(LF)并且编译得很好...... (使用notepad ++来检测它丢失的地方,但我确信VS也有办法..) 欢呼声。