当前位置: 首页 > 面试题库 >

Xcode lldb错误:无法打印出Swift变量-改为获取“ $ __ lldb_injected_self。$ __ lldb_wrapped_expr_x”

葛修真
2023-03-14
问题内容

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

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

像雨燕一样 p

e unsafeBitCast(address, to: ClassName.self)

UPDATE2 - 新的解决方法 适用于雨燕类是objc类的包装。

例:

v response
(HTTPURLResponse) response = 0x0000000283ba7640 {

如果v可行^:

e -l objc -- (int)[0x0000000283ba7640 statusCode]
(int) $2 = 404

我希望您能 收到 一些 报告, 这些 报告 实际上是有帮助的并且有效。谢谢。

可以在以下位置找到有关此类功能的更多信息:https :
//developer.apple.com/library/content/documentation/General/Conceptual/lldb-
guide/chapters/C5-Examining-The-Call-
Stack.html




 类似资料:
  • 我正在做一个赋值,我被这个错误困住了:无法为最终变量计数赋值 到目前为止,这是我的代码... 我对java非常陌生,显然不是电脑高手,所以请尽可能用最简单的术语解释问题/解决方案。非常感谢。

  • 我正在使用CUPS 1.6.3进行打印。打印机通过USB连接。问题是在尝试打印作业时打印失败。我能够在CUPS界面上看到“等待打印机可用”失败的原因。但我无法通过CUPS API获取原因字符串。然而,当打印机通过网络连接时,我可以使用cupsGetOption(“打印机状态原因”…)获取原因。有人请帮助我获得错误的原因,而通过USB连接。

  • 我试图将一个旧的非ARC项目转换为ARC,我得到了这个编译错误:“无法捕获块中__autoreleasing变量”

  • 问题内容: 我正在使用位于此处的教程:http : //addyosmani.github.io/backbone-fundamentals/#create- a-simple-web-server 并添加了以下代码。 在启动服务器后,我收到一条错误消息,指出访问时的错误,我只是想知道是否有人对这个错误了解很多,因为Express和Node对我来说是新的? 问题答案: 我认为您缺少路线,您需要定义

  • 问题内容: 我对gdb无法正确打印变量有疑问。通过以下方式构建简单程序: 然后执行gdb: 这是我下一步要做的: 您可以看到在检查’p’变量时存在Python异常,而在显示’i’值时完全没有3。怎么了 ? 这是我去的版本 和gdb配置 问题答案: 添加到@AlexAtNet的答案中,Go 1.2.x之后的所有内容都中断了GDB支持,因此请使用go 1.2.x进行调试或使用gccgo(请记住,gcc

  • 有人能识别出以下代码的错误吗。特别是第一条dbms_输出线。第二张打印得很好。但第一个错误是: 第2行ORA-06550错误:第15行,第53列:PLS-00201:标识符“MYCOLL”必须声明ORA-06550:第15行,第1列:PL/SQL:忽略语句