В настоящее время я работаю над командой построения для пользовательских объектов в C ++.Я использую Xcode v10.1.
Я импортирую свои собственные команды с помощью command script import test.py , где есть следующая функция:
import lldb
def test_function(debugger, command, result, dict):
obj = lldb.frame.FindVariable("custom_object")
print(obj)
def __lldb_init_module (debugger, dict):
debugger.HandleCommand('command script add -f test.test_function test')
Где пользовательский объект - это объект, который я хочу использовать в скрипте Python.
Если я только что открыл отладчик, я получаю ошибку:
obj = lldb.frame.FindVariable("custom_object")
AttributeError: 'NoneType' object has no attribute 'FindVariable'
Однако, когда яоткройте встроенный интерпретатор Python в XCode напрямую и выполните ту же строку кода, что и выше, я не получаю ошибки.
Если я теперь снова выполню свою пользовательскую команду, она будет успешно выполнена для всех объектов в той же области действия отладчика.