有没有人知道什么可能导致断点不显示代码在特定文件中的实际位置?
这是我第二次发生这种情况..也许有人可以帮忙,我的参数:
我在视觉工作室 2010 工作。
这个特别是一个静态库,但它也发生在我的 dll 中。
PDB 是在 Z7 中生成的,尽管在我的默认 pdb 生成中也发生了这种情况。
我确信代码是用正确的 lib 编译的(也发生在 dll 中所以..)
我也有一些我最初怀疑导致此问题的 Doxygen 评论(可能是?)
- 附件是一张图片,显示了断点箭头与其实际位置的调用堆栈的比较。
谢谢!

有没有人知道什么可能导致断点不显示代码在特定文件中的实际位置?
这是我第二次发生这种情况..也许有人可以帮忙,我的参数:
我在视觉工作室 2010 工作。
这个特别是一个静态库,但它也发生在我的 dll 中。
PDB 是在 Z7 中生成的,尽管在我的默认 pdb 生成中也发生了这种情况。
我确信代码是用正确的 lib 编译的(也发生在 dll 中所以..)
我也有一些我最初怀疑导致此问题的 Doxygen 评论(可能是?)
谢谢!

如果您调试启用了优化的代码,则该方法可能只是内联。这至少是断点未指向正确位置的一种已证实来源。
我通常注意到的一种情况是,由于在调试时从源代码管理中获取文件而导致源文件发生更改。断点使用旧代码的行号。
因此,显然 Visual Studio 文本编辑器不能很好地适应 CR。我发现该文件有一些 CR(而不是 CRLF),这使编译器混淆在一起。当我真的故意犯了编译错误时,它甚至没有指向正确的行...
所以我在每个 CR 之后添加了 LineFeeds(LF) 并且它编译得很好......(使用 notepad++ 来检测它丢失的位置,但我确信 VS 也有办法......)干杯。