xcode断点看不到调试信息 变量值 字典值

本文介绍了在使用Xcode过程中遇到无法查看调试信息的问题及解决方法。通过调整模拟器左侧图表中的配置,将release模式改为debug模式,成功解决了调试信息显示为Nil的问题。

今天在调试xcode的时候突然看不到调试信息,因为xcode又犯病了。自己查看一下,原来是在打包的时候修改了设置,产生了影响。可以看到网络请求中,断点已经拿到了返回的json。但是我们看一下调试信息


所有应该拿到的信息都是Nil

操作如下,product -- > scheme --> edit scheme,或者直接点击模拟器左侧图表,直接选中edit scheme ,将release改变成debug


可以正常拿到值了:


Xcode 中可以非常方便地针对变量进行调试并观察其的变化,主要通过 **断点调试**、**变量查看窗口** 和 **表达式求** 实现。以下是具体方法: --- ### **方法 1:使用断点 + 变量查看窗口** 1. **设置断点** 在代码编辑器左侧点击行号,添加一个断点(蓝色箭头标记)。 2. **运行调试** 按 `Cmd + R` 运行程序,当执行到断点时,Xcode 会暂停并显示调试面板。 3. **查看变量值** - **自动显示**:断点触发时,`Variables View`(调试面板底部)会自动列出当前作用域的所有变量。 - **手动查看**:在代码编辑器中悬停鼠标到变量上,会弹出一个小窗口显示当前(Swift 支持实时预览)。 --- ### **方法 2:使用 Watchpoint(监听变量变化)** 如果需要监听某个变量被修改时的变化(例如全局变量或堆属性): 1. **打开 Watchpoint 窗口** 在调试面板中,点击左下角的 `+` 按钮,选择 **Watch Variable**。 2. **输入变量名** 输入要监听的变量地址或名称(需确保变量在作用域内)。 3. **触发中断** 当变量被修改时,Xcode 会自动暂停并显示修改位置。 --- ### **方法 3:使用 `po` 命令(LLDB 调试控制台)** 1. **打开 LLDB 控制台** 在调试暂停时,点击底部面板的 `Debug Console`(或按 `Cmd + Shift + Y`)。 2. **打印变量值** 输入 `po 变量名` 打印对象内容(`po` 用于对象,`p` 用于基本类型): ```swift (lldb) po myArray ▿ 3 elements - 0 : "A" - 1 : "B" - 2 : "C" ``` 3. **监听变量变化** 使用 `watchpoint set expression` 监听变量地址(需先通过 `p &变量名` 获取地址)。 --- ### **方法 4:条件断点(动态观察)** 1. **设置条件断点** 右键断点 → **Edit Breakpoint** → 在 `Condition` 中输入表达式(如 `i == 5`)。 2. **自动暂停** 当变量满足条件时,Xcode 会暂停并显示当前。 --- ### **方法 5:使用 `debugQuickLook`(可视化调试)** 对于自定义类型,可以实现 `debugQuickLookObject` 方法提供可视化预览: ```swift struct Point { var x: Int, y: Int } extension Point { func debugQuickLookObject() -> Any { return "(\(x), \(y))" // 调试显示为字符串 } } let p = Point(x: 10, y: 20) // 悬停时显示 (10, 20) ``` --- ### **示例:观察循环中变量的变化** ```swift var sum = 0 for i in 1...5 { sum += i // 在此处设置断点 print("i=\(i), sum=\(sum)") } ``` 1. 在 `sum += i` 行设置断点。 2. 每次循环暂停时,查看 `Variables View` 中的 `i` 和 `sum` 的。 3. 或在 LLDB 中输入 `p sum` 动态打印。 --- ### **注意事项** - **作用域限制**:只能查看当前作用域内的变量。 - **优化影响**:Release 模式下编译器可能优化掉某些变量,建议用 Debug 模式调试。 - **内存地址**:对于引用类型,可通过 `p &变量名` 获取内存地址进一步分析。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值