我的断点都没有被击中。
我尝试了以下内容:
Debug
且Debug executable
为
打勾Generate debug symbols
设置为Yes
Optimization level
更改为No optimization
断点仍未被击中。
答案 0 :(得分:12)
今天有这个问题--Swift项目中的断点在XCode 9.3中失败了(Objective-c很好)。
以下修正了它:
在Swift编译器 - 代码生成子菜单下更改优化级别。将其从-O移至-Onone
答案 1 :(得分:4)
我在目标的构建设置中将Deployment Postprocessing
设置为NO
。将其设置为YES
使我的断点再次起作用。
答案 2 :(得分:4)
现有答案中没有一个对我有用,所以我研究了正在发生的事情。通过在代码中强制设置一个断点(即asm(“ int3;”)指令),我可以看到未加载符号。自然,断点取决于加载的符号信息。
我的断点无法使用的代码在C ++框架中,并且该框架具有名为“ Strip链接的产品”的构建设置,对于发布和调试,默认设置为“是”建立。通过将调试版本设置为“否”(并进行完全重建),我的断点现在可以再次使用。
答案 3 :(得分:3)
尝试以下步骤
答案 4 :(得分:1)
答案 5 :(得分:1)
答案 6 :(得分:1)
就我而言,问题出在调试信息格式设置中。它被设置为DWARF
而不是DWARF with dSYM File
。将其重置为默认值即可解决问题。
答案 7 :(得分:0)
检查偏好设置>行为>正在运行>暂停选项。 导航器和调试器的显示必须已勾选。
答案 8 :(得分:0)
以前的解决方案都不适合我。我有一个问题,除了在xcode(9.4.1)工作区中的其他项目中的c ++项目上,所有断点都可以工作。对于该项目,我注意到只有一些断点在起作用。深入研究表明,使用私有方法创建的断点不起作用。
经过大量调查,我发现了自己的问题。在我的主项目中,我在头文件中声明了一些静态的Objective-C初始化程序。不能完全确定为什么,但是在将它们移到引用了它们的实现文件中之后,我断掉的断点又开始工作。希望这可以节省一些时间。
答案 9 :(得分:0)
答案 10 :(得分:0)