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

如何在Xcode LLDB中为应用启动之初设置断点?操作失败求助

问题分析与解决方法

你的操作错误很明确:把LLDB调试器的启动参数当成了应用程序的运行参数。Xcode的Run Debug设置里的「Arguments Passed On Launch」是传给你自己开发的App的参数,不是给LLDB调试命令用的——LLDB根本没收到--stop-at-entry这个指令,自然不会在应用入口处停下。

下面给你三种靠谱的解决方式,按需选择:

方式一:直接在Debug Console里执行LLDB命令

  1. 如果当前App正在运行,先点击Xcode工具栏的停止按钮结束会话
  2. 在底部的Debug Console里输入:
    process launch --stop-at-entry
    
    要是你的App需要传运行参数,就在后面加--再加参数,比如:
    process launch --stop-at-entry -- -v --log-path /tmp/app.log
    
    执行后,App会在加载完成但未执行任何代码的状态停下。

方式二:配置Xcode Scheme,让每次启动自动停在入口

  1. 点击Xcode顶部工具栏的Scheme名称(比如你的App名字),选择「Edit Scheme」
  2. 在弹出的窗口里切换到「Run」→「Arguments」标签页
  3. 找到下方的「LLDB Startup Commands」区域,点击+号,添加命令:
    process launch --stop-at-entry
    
  4. 关闭Scheme设置窗口,之后每次点击调试启动按钮,LLDB都会自动执行这个命令,帮你停在应用入口。

方式三:添加符号断点到start函数(更直观)

start是系统加载完App二进制后调用的第一个函数,比main还要早,完全符合你要的「加载完成未执行代码」的状态:

  1. 打开左侧面板的Breakpoint Navigator(那个断点图标)
  2. 点击左下角的+号,选择「Symbolic Breakpoint」
  3. 在「Symbol」输入框里填start,其他保持默认,点击「Done」
  4. 启动调试,App会自动停在start函数的第一行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 06:53:25