当我使用 Python 脚本创建自定义类型摘要时,可以使用 value.GetChildMemberByName("<child-name>")
访问 ivars 。但是,这不适用于计算属性或函数。
与 frame variable
命令,生成摘要的脚本可以计算当前帧中的表达式(例如 value.GetFrame().EvaluateExpression(value.GetName() + ".description")
)
但是,当使用 p <some-expression>
时,这将不起作用。/expression -- <some-expression>
由于没有框架,所以上面的语句不会产生任何结果。
使用p
时,有没有办法在类型摘要中调用函数或评估计算属性(expression --
)?
最佳答案
您可能会使用 SBValue.CreateValueFromExpression 而不是数据格式化程序的框架或目标 EvaluateExpression 调用。
SBValues 会记住定义它们的上下文,并且 SBValue.CreateValueFromExpression 将该上下文传送回表达式计算器。由于变量格式化程序始终接收它们正在操作的 SBValue,因此 CreateValueFromExpression 允许使用一种简单的方法将该上下文转发到新表达式。
关于swift - Swift 的 LLDB : Access computed property or perform function call in type summary Python script,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62398294/