You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Xcode调试停在main.m并打印数字的问题排查求助

这种启动调试卡main.m的问题我碰到过好几次,大概率是Xcode的缓存、断点配置或者符号表加载出了问题,给你列几个一步步排查的方案:

1. 先检查断点配置

打开Xcode的Breakpoint Navigator(快捷键⌘ + 8),仔细看有没有这两类断点:

  • 误加在main.m里的普通断点
  • 全局的Exception Breakpoint(有时候会在APP启动初期就触发,导致停在main函数)
    如果看到可疑断点,右键选择Delete或者Disable,然后重启调试试试。
2. 彻底清理项目缓存和构建文件

Xcode的缓存经常会搞出各种玄学问题,按这个流程来:

  • 先完全关闭Xcode
  • 打开终端,执行命令清理DerivedData目录:
    rm -rf ~/Library/Developer/Xcode/DerivedData
    
  • 重新打开Xcode,按⌘ + Shift + K清理当前项目的构建产物,再按⌘ + Option + Shift + K清理全局构建缓存
  • 重新构建项目(⌘ + B)后启动调试
3. 检查Scheme的调试配置

点击Xcode顶部的Scheme下拉菜单,选择Edit Scheme...:

  • 左侧选Run,切换到Info标签页,确认Build Configuration是Debug(别不小心选成Release了)
  • 切换到Arguments标签页,检查Environment Variables里有没有奇怪的变量(比如DYLD_PRINT_STATISTICS这类会打印启动日志的变量),有的话暂时删掉再试
4. 验证符号表加载状态

调试停在main.m时,在调试控制台输入:

image list

看看输出里有没有你的APP二进制文件,注意看后面的标注,如果显示(no symbols)说明符号表没加载成功。这种情况下可以:

  • 去Edit Scheme...的Run -> Options里,先关掉Debug executable再重新打开
  • 或者重启Xcode和你的iOS设备
5. 重置设备的调试连接

有时候设备的调试服务会异常,试试:

  • 断开设备和电脑的连接,重启iOS设备
  • 设备重启后重新连接USB,等Xcode完全识别设备后再启动调试
  • 另外检查设备的设置->通用->设备管理,确保你的开发者账号是信任状态
6. 排除项目配置损坏的可能

如果上面的方法都没用,新建一个简单的ObjC+Swift混合项目,用同样的调试方式连接设备。如果新项目能正常调试,那大概率是当前项目的配置文件(比如project.pbxproj)损坏了,可以尝试从备份恢复项目文件,或者重新生成项目配置。

内容的提问来源于stack exchange,提问作者zorro2b

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 10:17:51