自从我更新到 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为调试构建配置应有的设置,并且运行方案设置为启动调试构建配置。
问题还可能出在哪里?