Xcode 7调试器不会中断内联标头函数

Xcode 7 debugger does not break in inline header functions

本文关键字:函数 中断 调试器 Xcode      更新时间:2023-10-16

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

我以前从未遇到过这种问题。我还有其他类似的项目没有表现出这种行为——断点无处不在。

我相信Xcode使用LLDB作为调试器——我从哪里开始寻找可能导致这种情况的项目设置?

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

当我在新的Xcode中打开旧项目时,我可能已经"更新到了推荐的设置"——这可能改变了一些相关的东西,尽管我不确定是什么。我已经更新了其他项目,没有出现这个问题。

我在El Capitan上使用Xcode 7。

成功了!最后,这个AppleDeveloperThread包含了解决方案:从调试器提示符手动设置断点:

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

如预期的那样中断,而在该位置从Xcode设置断点(使用8.3,但在4、5、6和7中有相同的问题)是不起作用的。我尝试了许多其他解决方案,但都没有成功。