2016-09-29 59 views
1

为什么有时当我试图做一些事情,如:LLDB输出误差

po trip.id 

,我得到这个

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(  
    ^~~~~~~~~~~~~~~~~~~~~ 

? 任何方式来解决这个莫名其妙?

回答

2

为了有表达运行,就好像是注入到当前选定的框架,我们需要构建一个上下文(某种类的扩展,例如)用适当的自我参数,并在你的表达评估代码在这方面。很明显,您试图打印“trip.id”的环境是调试器无法重建的环境。如果你可以用http://bugreporter.apple.com来报告这个错误,我们可以找出如何支持这个。

如果你不使用的Xcode 8.0,你可以尝试的是,一堆这种虫子是固定的。

LLDB有另一个命令,“帧变量”,其提供了快速访问局部变量。它不能运行函数调用等,但由于它不那么雄心勃勃,有时它更强大。你可以尝试这样的:

(lldb) frame variable -O trip.id