Sha*_*n D 11 xcode ios lldb swift xcode12
自从我更新到 Xcode 12 以来,我一直无法在使用 lldb 进行调试时在控制台中打印出变量。
print()按预期直接在 Swift 代码中使用语句输出到控制台。
控制台中的命令po "hi"如预期的那样向控制台输出“hi”。
po <variable_name>相反,尝试运行时总是输出以下行:
error: <EXPR>:3:1: error: cannot find 'variable_name' in scope
Run Code Online (Sandbox Code Playgroud)
而不是预期变量的值。
将这些行添加到 Swift 代码中
let example = "hi"
print(example)
Run Code Online (Sandbox Code Playgroud)
将断点放在第二行,即带有print()语句的那一行
运行代码,等待断点命中
尝试po example在调试控制台中运行
它应该"hi"在控制台中打印
它打印此错误行
error: <EXPR>:3:1: error: cannot find 'example' in scope
Run Code Online (Sandbox Code Playgroud)
在模拟器或设备上运行时也是如此。我试过激活控制台,然后重新启动 Xcode。
我已经尝试在 Xcode12 中创建一个新项目并且运行良好,我使用以前版本的 Xcode 创建的其他旧项目在 Xcode 12 中运行良好。
我已经尝试在其他项目和新创建的项目中面对 Build 设置,似乎没有任何问题:优化设置None为调试构建配置应有的设置,并且运行方案设置为启动调试构建配置。
问题还可能出在哪里?
我也遇到了这个问题,构建设置中的所有内容都设置正确,我遇到了与问题中相同的情况。
对我来说,在将所有 SPM 依赖项移回 CocoaPods 后,问题就解决了,但这并不是灵丹妙药,因为我还有其他项目,其中一些依赖项位于 CocoaPods 上,一些依赖项位于 SPM 上,并且这些项目工作得很好。
不过,有用的是,为了找到这个解决方案,我检查了较旧的提交,直到找到一个可用的提交,然后尝试恢复自该提交以来发生更改的内容。这应该有助于在每个特定情况下找到原因。
这个问题非常难以预测,如果您遇到这个问题,我认为值得向 Apple 提交反馈(如果可以的话),并将您的项目附加到反馈中。
| 归档时间: |
|
| 查看次数: |
2025 次 |
| 最近记录: |