Xcode lldb错误:无法打印出Swift变量 - 获取"$ __ lldb_injected_self.$ __ lldb_wrapped_expr_x"而不是

Jac*_*art 11 debugging xcode lldb swift

有时,在尝试在调试器中打印变量时,会显示以下错误消息:

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(     
    ^~~~~~~~~~~~~~~~~~~~~
Run Code Online (Sandbox Code Playgroud)

这是一个已知的lldb错误(https://bugs.swift.org/browse/SR-6156),但也许有人知道可以在修复该错误之前使用的解决方法?

Kam*_*l.S 28

作为一种解决方法,您可以lldb使用以下命令在调试器中打印它:

frame variable variablename
Run Code Online (Sandbox Code Playgroud)

也可以使用缩短的语法来更快地键入

fr v variablename
Run Code Online (Sandbox Code Playgroud)

有关此类功能的更多信息,请访问:https: //developer.apple.com/library/content/documentation/General/Conceptual/lldb-guide/chapters/C5-Examining-The-Call-Stack.html

  • 总比没有好,但使用起来还是很麻烦的...我想知道为什么这个Swift bug(?)修复了这么久 (4认同)
  • 这并不能解决问题。可以打印其他代码库中的变量。为什么现在不起作用?为什么它可以与其他代码库一起使用? (2认同)