Xcode lldb error: can't print out Swift variable - get "$__lldb_injected_self.$__lldb_wrapped_expr_x" instead
Xcode lldb error: can't print out Swift variable - get "$__lldb_injected_self.$__lldb_wrapped_expr_x" instead
有时,当尝试在调试器中打印出变量时,会显示以下错误消息:
error: warning: <EXPR>:12:9: warning: initialization of variable '$__lldb_error_result' was never used; consider replacing with assignment to '_' or removing it
var $__lldb_error_result = __lldb_tmp_error
~~~~^~~~~~~~~~~~~~~~~~~~
_
error: <EXPR>:18:5: error: use of unresolved identifier '$__lldb_injected_self'
$__lldb_injected_self.$__lldb_wrapped_expr_120(
^~~~~~~~~~~~~~~~~~~~~
这是一个已知的 lldb
错误 (https://bugs.swift.org/browse/SR-6156),但也许有人知道在修复该错误之前可以使用的解决方法?
作为解决方法,您可以在 lldb
调试器中打印它,使用:
frame variable variablename
也可以使用缩短的语法来加快输入速度
fr v variablename
自 XCode 10.2 以来支持更简单的 lldb
语法:
v variable
更新 - 新的解决方法:
打印堆栈地址:
v -L variablename
po
就像堆栈框架 variable.property
v -o variablename.property
Swift 喜欢 p
e unsafeBitCast(address, to: ClassName.self)
Update2 - 新解决方法 适用于 Swift 类 作为 objc 类 的包装器.
示例:
v response
(HTTPURLResponse) response = 0x0000000283ba7640 {
如果v
有效^:
e -l objc -- (int)[0x0000000283ba7640 statusCode]
(int) = 404
我会 感谢报告 什么是真正有用和有效的。谢谢。
可在此处找到有关此类功能的更多信息:
https://developer.apple.com/library/content/documentation/General/Conceptual/lldb-guide/chapters/C5-Examining-The-Call-Stack.html
有时,当尝试在调试器中打印出变量时,会显示以下错误消息:
error: warning: <EXPR>:12:9: warning: initialization of variable '$__lldb_error_result' was never used; consider replacing with assignment to '_' or removing it
var $__lldb_error_result = __lldb_tmp_error
~~~~^~~~~~~~~~~~~~~~~~~~
_
error: <EXPR>:18:5: error: use of unresolved identifier '$__lldb_injected_self'
$__lldb_injected_self.$__lldb_wrapped_expr_120(
^~~~~~~~~~~~~~~~~~~~~
这是一个已知的 lldb
错误 (https://bugs.swift.org/browse/SR-6156),但也许有人知道在修复该错误之前可以使用的解决方法?
作为解决方法,您可以在 lldb
调试器中打印它,使用:
frame variable variablename
也可以使用缩短的语法来加快输入速度
fr v variablename
自 XCode 10.2 以来支持更简单的 lldb
语法:
v variable
更新 - 新的解决方法:
打印堆栈地址:
v -L variablename
po
就像堆栈框架 variable.property
v -o variablename.property
Swift 喜欢 p
e unsafeBitCast(address, to: ClassName.self)
Update2 - 新解决方法 适用于 Swift 类 作为 objc 类 的包装器.
示例:
v response
(HTTPURLResponse) response = 0x0000000283ba7640 {
如果v
有效^:
e -l objc -- (int)[0x0000000283ba7640 statusCode]
(int) = 404
我会 感谢报告 什么是真正有用和有效的。谢谢。
可在此处找到有关此类功能的更多信息: https://developer.apple.com/library/content/documentation/General/Conceptual/lldb-guide/chapters/C5-Examining-The-Call-Stack.html