首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >LLDB输出错误:使用了未声明的类型'$__lldb_context‘

LLDB输出错误:使用了未声明的类型'$__lldb_context‘
EN

Stack Overflow用户
提问于 2016-09-29 19:38:36
回答 1查看 1.2K关注 0票数 2

为什么有时当我尝试在控制台中打印时如下所示:

代码语言:javascript
复制
 po trip.id

我得到了:

代码语言:javascript
复制
error: <EXPR>:1:11: error: use of undeclared type '$__lldb_context'
extension $__lldb_context {                            
          ^~~~~~~~~~~~~~~
<EXPR>:16:5: error: use of unresolved identifier '$__lldb_injected_self'
    $__lldb_injected_self.$__lldb_wrapped_expr_79(     
    ^~~~~~~~~~~~~~~~~~~~~

代码语言:javascript
复制
error: <EXPR>:1:11: error: cannot find type '$__lldb_context' in scope
extension $__lldb_context {
          ^~~~~~~~~~~~~~~

有没有办法解决这个问题?

EN

回答 1

Stack Overflow用户

发布于 2016-10-01 07:26:32

为了让表达式像注入到当前选定的框架中一样运行,我们需要使用适当的self参数构造一个上下文(例如,某种类扩展),并在该上下文中评估表达式中的代码。显然,您试图输出"trip.id“的上下文是调试器无法重构的。如果你可以向http://bugreporter.apple.com提交一个bug来报告这一点,我们就可以弄清楚如何支持它。

如果你使用的不是Xcode8.0,你可以尝试一下,已经修复了很多这种类型的bug。

lldb有另一个命令"frame variable“,它提供了对局部变量的快速访问。它不能运行函数调用之类的东西,但由于它不那么雄心勃勃,所以有时更健壮。您可以尝试如下所示:

代码语言:javascript
复制
(lldb) frame variable -O trip.id
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39769254

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档