Xcode 7调试器不会破坏内联头函数

时间:2017-01-24 20:36:40

标签: c++ xcode debugging breakpoints osx-elcapitan

过去五年来,我一直在使用Xcode和各种C ++项目,没有这个问题。今天,我打开了一个较旧的项目(大约2岁)并尝试通过在该函数中放置一个活动断点来调试头文件中的内联函数。出于某种原因,调试器不会破坏此代码。但是,如果我在调用此函数的.cpp文件中放置一个断点,我可以进入并通过该函数的每一行。然后我注意到头文件中定义的所有(内联)函数都会发生这种情况。

我之前从未遇到过这个问题。我有其他类似的项目没有表现出这种行为 - 断点在任何地方都有效。

我相信Xcode使用LLDB作为调试器 - 我会在哪里开始寻找可能导致此问题的项目设置?

构建时我没有相关的编译器警告。

我可能已经"更新为推荐设置"当在较新的Xcode中打开旧项目时 - 这可能已经改变了相关的东西,虽然我不确定是什么。我已经更新了其他项目,并没有发生这个问题。

我在El Capitan上使用Xcode 7。

1 个答案:

答案 0 :(得分:1)

搞定了!最后,这个Apple Developer Thread包含解决方案:从调试器提示符手动设置断点:

(lldb) br s --file framework.ipp --line 577 

按预期中断,同时在此位置设置Xcode断点(使用8.3,但在4,5,6和7中遇到相同问题)不起作用。我尝试了很多其他解决方案,但没有一个能够完成这项工作。