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

Xcode LLDB调试器中如何存储/替换调试本地变量

Xcode LLDB 实现自定义持久调试变量方法

报错根因

直接使用e/expression命令定义的无前缀普通变量,仅存在于单次表达式的临时执行上下文里,命令执行完成后变量就会被回收,后续调用自然会触发「找不到变量作用域」的报错,无法实现PyCharm调试器watcher存储变量的效果。

对应场景操作步骤

LLDB调试器的规则是:所有需要跨表达式访问的持久调试变量,命名必须以$开头,这类变量会在当前整个调试会话周期内保留,随时可以调用查看。
针对你给出的断点场景(断点停在let aPlusb = Self.addFunc(a, b)行时),直接在LLDB控制台输入命令即可完成变量存储:

expression let $xy = Self.addFunc(a, b)
// 缩写写法
e let $xy = Self.addFunc(a, b)

存储完成后,随时可以通过以下命令查看变量值:

po $xy

补充使用技巧

  • 除了直接在控制台输入命令,你也可以在Xcode调试区左侧的变量列表面板右键,选择Add Expression,输入$xy = Self.addFunc(a, b),就能实现和PyCharm watcher完全一致的效果,变量值会随着单步执行自动刷新
  • 该规则对Swift、Objective-C项目同时生效,OC场景下定义持久变量同样需要加$前缀
  • $开头的持久变量仅存在于当前调试会话,重启调试、断开App连接后会自动清空,不会侵入业务代码

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.30 10:30:35