升级Xcode9.1后断点无效

升级9.1后断点无效,参考:
http://blog.csdn.net/skylin19840101/article/details/72185975
Xcode中和symbols有关的几个设置

最终解决方法:各种常规项检查后,最后修改Deployment Postprocessing

Deployment Postprocessing修改

解释下影响断点调试的几个选项

  1. Product->Debug workflow 取消选中Always Show Disassembly: 选中时可以查看程序运行时的汇编代码,我们在调试代码时不需要查看汇编代码,那么可以取消,断点就会停在我们的代码上。
  2. 修改Generate Debug SymbolsYES
    启用或禁用生成调试符号,也就是在程序编译时是否生成编译符号,如果设置为NO,编译时无法生成断点调试符号。当然也可以通过Debug Information Level等等其他选项控制debug的等级,感兴趣的话可以好好研究研究。
  3. Edit Scheme -> Run -> Debug executable 勾选:这个比较直观,就是是否使用调试程序运行。
  4. TARGETS -> Build Settings -> Deployment Postprocessing:部署处理,会对其它选项生成的测试符号产生影响,这个其实在App瘦身时会用到,设置为YES时会删掉所有不必要的编译符号,也就包括调试符号,这样编译后的应用包会变小,安全性也会更好一点。之前Xcode都是默认为NO,我发现Xcode9.1无论debug还是release都默认为YES了,所以修改debug为NO,才能使断点生效。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 其实被这个问题困扰了好久,不过秉承着三分钟热度的新年新气象,还是要多弄懂一点(⊙_⊙)ゞ Symbols是什么东西...
    卖萌凉阅读 55,847评论 22 164
  • 【转载】曾梦想仗剑走天涯 1.Xcode IDE概览 说明:从左到右,依次是“导航窗格(Navigator)->边...
    06a6a973d7ab阅读 9,327评论 2 20
  • 1.Xcode IDE概览 说明:从左到右,依次是“导航窗格(Navigator)->边列(Gutter)->焦点...
    小地阅读 10,728评论 0 9
  • LLDB的Xcode默认的调试器,它与LLVM编译器一起,带给我们更丰富的流程控制和数据检测的调试功能。平时用Xc...
    CoderSC阅读 5,251评论 0 2
  • LLDB的Xcode默认的调试器,它与LLVM编译器一起,带给我们更丰富的流程控制和数据检测的调试功能。平时用Xc...
    小笨狼阅读 20,746评论 31 186