Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/115.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios Xcode中未命中断点(9.3)_Ios_Swift_Xcode - Fatal编程技术网

Ios Xcode中未命中断点(9.3)

Ios Xcode中未命中断点(9.3),ios,swift,xcode,Ios,Swift,Xcode,我的断点都没有被击中 我尝试了以下方法: 已删除的派生数据目录 已清理的生成文件夹 已删除xcuserdata目录 确保生成配置为Debug,并且Debug executable为 滴答 确保Generate debug symbols设置为Yes 将优化级别更改为无优化 断点仍未命中。检查首选项>行为>运行>暂停选项。 导航器和调试器的显示一定已经勾选了。今天就出现了这个问题-Swift项目中的断点在XCode 9.3中失败(objective-c的断点很好) 以下内容修复了它: 更改Sw

我的断点都没有被击中

我尝试了以下方法:

  • 已删除的派生数据目录
  • 已清理的生成文件夹
  • 已删除xcuserdata目录
  • 确保生成配置为
    Debug
    ,并且
    Debug executable
    为 滴答
  • 确保
    Generate debug symbols
    设置为
    Yes
  • 优化级别
    更改为
    无优化

断点仍未命中。

检查首选项>行为>运行>暂停选项。
导航器和调试器的显示一定已经勾选了。

今天就出现了这个问题-Swift项目中的断点在XCode 9.3中失败(objective-c的断点很好)

以下内容修复了它:

更改Swift编译器-代码生成子菜单下的优化级别。将其从-O移动到-Onone


src:

我在目标的构建设置中将部署后处理设置为
NO
。将此设置为
YES
使我的断点再次工作。

现有答案中没有一个对我有效,因此我深入研究了发生的事情。通过在代码中强制设置断点(即asm(“int3;”)指令),我可以看到符号没有加载。自然,断点取决于加载的符号信息


我的断点不工作的代码是在C++框架中的,框架有一个名为“<强>条链接产品< /强>”的构建设置,默认版本为“是”,用于发布和调试构建。通过将调试生成设置为“否”(并进行完整重建),我的断点现在可以再次工作。

以前的解决方案也都不适用于我。在XCoad(9.4.1)工作空间中,除了一个C++项目之外,我还有一个问题,所有的断点都可以工作。对于那个项目,我注意到只有一些断点在工作。深入挖掘表明,在私有方法中创建的断点不起作用

经过大量的调查,我发现了我的特殊问题。在我的主要项目中,我在头文件中声明了一些静态objective-c初始值设定项。不完全确定原因,但在我将它们移动到引用它们的实现文件后,我的中断点又开始工作了。希望这能节省一些时间。

尝试以下步骤

  • 转到调试(Xcode中的顶部栏)
  • 调试工作流
  • 始终显示反汇编-取消选中它

  • 我也面临同样的问题,这个解决方案对我很有效:

    • 打开项目设置
    • 优化水平
    • 在“Swift编译器-代码生成”部分下
    • 将“优化级别”设置为否优化[-Onone]
    请参阅随附的屏幕截图

    选择XCode中的断点选项卡,删除所有旧断点。
    然后添加新的断点。这对我有用

    设置仅构建活动架构对我有帮助


    在我的例子中,问题在于调试信息格式设置。它被设置为
    DWARF
    ,而不是使用dSYM文件
    DWARF。将其重置为默认值解决了问题

  • 在我的目标的生成设置中将部署后处理设置为“是”
  • 调试->调试工作流->始终显示反汇编->取消选中
  • 退出Xcode并重新打开Xcode

  • 它们被勾选得足够好了,对我来说正好相反,将
    部署后处理
    设置为
    固定断点。