在Python脚本中使用LLDB命令

2021-04-12 00:24:00 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在编写一个Python脚本以在Xcode的LLDB中使用。我有一个简单的脚本运行:

import lldb

def say_hello(debugger, command, result, dict):
  print command

def __lldb_init_module (debugger, dict):
  debugger.HandleCommand('command script add -f sayhello.say_hello hello')

我想做的是能够在Python脚本中使用LLDB的XCUIApplication().debugDescription函数的输出。那么有没有办法:

a)在python脚本中访问XCUIApplication()。在

b)将XCUIApplication().debugDescription作为输入传递到Python脚本中的say\u hello函数。在

1条回答
网友
1楼 ·

iircxcuiapplication是由XCTest框架提供的函数,因此它是您正在调试的程序中的一个函数。因此,您可以像调用任何其他函数一样调用它,在SBTarget或SBFrame上使用“EvaluateExpression”API。计算表达式的结果将以SBValue的形式返回给您,您可以用它打印该表达式或任何需要的内容。在

注意,除非需要支持非常旧的Xcode(6.x),否则使用新形式的python命令会更方便:

def command_function(debugger, command, exe_ctx, result, internal_dict):

exe_ctx是运行命令的SBExecutionContext。如果你这样做,你就可以:

^{pr2}$

相关问题