iOS开发疑问:断点每次卡在main函数如何解决?
嘿,别担心,新手遇到这种调试小状况太正常啦!你说的每次使用断点时应用都会卡在main函数、需要手动点击继续才能推进的问题,大概率不是你的代码有问题,而是Xcode的调试配置或断点设置出了小插曲,我给你几个常见的排查和解决方向:
检查异常断点是否开启:
有时候不小心开启了全局异常断点,哪怕是系统层面不影响应用运行的微小异常,也会触发断点停在main函数。你可以点击Xcode左下角的「断点导航器」(那个类似断点图标的按钮),看看列表里有没有带感叹号的「Exception Breakpoint」。如果有,右键选择「Disable Breakpoint」或者直接删除,再试试调试。检查main函数本身的断点:
你可以仔细看看main函数里的UIApplicationMain那行代码左侧,有没有蓝色的断点标记(就是那种小圆点)。如果不小心在这里加了断点,每次启动调试都会停在这里,点击那个圆点删掉就好。重置Xcode调试状态:
Xcode的缓存偶尔会出点小问题,你可以先试试清理构建文件夹(快捷键Cmd+Shift+Option+K),然后重启Xcode,再重新启动调试看看。检查Scheme的调试选项:
点击Xcode顶部的App Scheme(显示你应用名称的下拉框),选择「Edit Scheme」,在弹出的窗口里切换到「Run -> Diagnostics」标签页,看看有没有勾选一些不必要的调试选项(比如Zombie Objects),暂时取消这些勾选,再尝试调试。
另外,你提到应用本身运行正常,这说明你的代码逻辑是没问题的,只是调试环境的设置需要调整,按照上面的步骤排查应该就能解决啦!
内容的提问来源于stack exchange,提问作者Kamal Doharey

