lldb python API для получения и установки команд точки останова (разновидности непитонов)

61
4

Я пытаюсь написать расширение python для lldb, которое может экспортировать текущий набор точек останова в файл plist и восстановить экспортированные точки останова из файла с условиями и командами (предположительно в новом сеансе).

Я просмотрел API-интерфейс lldb python и просмотрел веб-страницы (и переполнение стека), но не нашел ответов на следующие проблемы:

Есть ли способ получить список команд точки останова, связанных с объектом SBBreakpoint, через API Python? (Я преодолел эту проблему, выпуская "список контрольных точек" в командной строке, в API HandleCommand и анализируя результаты для команд, но было бы неплохо иметь возможность сделать это через API.) Есть ли способ установить несколько команд в объекте SBBreakPoint через API-интерфейс python? Альтернатива командной строки имеет только привилегию для команды одиночной строки. Помимо установки обратного вызова метода python, не существует способа установить несколько команд точки останова командной строки lldb (не python) на объект точки прерывания?

спросил(а) 2021-01-19T17:24:33+03:00 2 месяца, 3 недели назад
1
Решение
62

Нет хорошего способа сделать № 1. Кажется грубым, чтобы разобрать вывод списка перерывов...

Вы можете выбрать # 2, выполнив обратный вызов метода python с связкой строк "HandleCommand".

Нетрудно добавить методы SB API, которые выполняют одну из этих задач. У нас уже есть SBStringList в качестве удобного контейнера для ввода текста команды или выхода. Если вы хотите попробовать свои силы при взломе lldb, патч к этому эффекту будет тепло принят.

В противном случае, напишите ошибку с lldb.llvm.org bugzilla, и кто-то подойдет к ней, когда у них будет свободный момент.

ответил(а) 2021-01-19T17:24:33+03:00 2 месяца, 3 недели назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема