我已经设置了断点,但是Xcode似乎忽略了它们。
我已经设置了断点,但是Xcode似乎忽略了它们。
首先,我完全同意之前说要关闭“懒惰加载符号”的人的观点。
我有两个建议要补充。
确保您没有意外地将“Active Build Configuration”设置为“Release”。
在项目的图形树显示中的“Targets”下,右键单击您的目标并选择“获取信息”。查找名为“Generate Debug Symbols”(或类似)的属性,并确保其被选中(即开启)。此外,您还可以尝试找到一个称为“Debug Information Format”的属性,并将其设置为“Dwarf with dsym file”。
目标 >> 获取信息下还有其他可能会影响您的属性。查找像优化或压缩代码之类的内容并关闭它们(我假设您是在调试模式下工作,因此这不是坏建议)。另外,查找像剥离符号之类的内容,并确保它也已关闭。例如,对于Debug目标,“Strip Linked Product”应设置为“否”。
前往Xcode调试首选项。 确保未选择“懒加载符号”。
我也遇到了同样的问题(又一次)。在三次检查“懒加载符号”和剥离调试信息以及生成标志后,我采取了以下措施:
你可以通过在finder上右键/选项点击.xcodeproj包并选择“显示包内容”来完成相同的任务。
当我重新启动Xcode时,所有的窗口都恢复成默认位置等,但断点起作用了!
解决这个问题的一个可能方法是......转到"产品 > 方案 > 编辑方案",然后在"运行 > 信息 > 可执行文件"下勾选"调试可执行文件"。
XCode崩溃日志
Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[__NSCFConstantString stringByAppendingString:]: nil argument'
添加 XCode 符号断点
-[__NSCFConstantString stringByAppendingString:]:
但断点无法正常工作
更改为:
-[NSString stringByAppendingString:]
另一个原因是
在BuildSettings中将DeploymentPostprocessing
设置为NO - 详见此处
简言之 -
激活该设置表示应剥离二进制文件并将文件模式、所有者和组信息设置为标准值。[DEPLOYMENT_POSTPROCESSING]
看这篇文章:Xcode中断点无法正常工作?。你可能在点击“运行”而不是“调试”,这样你的程序就没有使用gdb运行,因此你不能指望断点正常工作!
XCode 9.4.1 对我来说的解决方案(在任何断点处都没有停止执行):
在构建目标下,找到“构建设置” -> “优化级别”: 将“优化为速度”切换为“无优化”(现在会更慢但可以正常工作)