#lldb
#lldb
Вопрос:
`lldb::SBDebugger::Initialize();
lldb::SBListener sbListener;
lldb::SBTarget sbTarget;
lldb::SBError sbError;
sbTarget.ConnectRemote(sbListener, "connect://127.0.0.1:3333", nullptr, sbError);
if (sbError.IsValid()) {
printf("%sn", sbError.GetCString());
//got an error "SBTarget is invalid"
}`
xcode 11.6 connect ios13.3.1 получил сообщение об ошибке «SBTarget недействителен»
как использовать lldb sbapi в xcode
Комментарии:
1. Добро пожаловать в Stack Overflow. Пожалуйста, добавьте краткое описание, код, ошибки ваших поисковых / исследовательских работ, как предлагается.
Ответ №1:
Это не поддерживаемое использование lldb в Xcode.
Xcode ничего не знает о новых отладчиках, которые вы создаете вручную, а поскольку именно Xcode подключает отладчики к окну консоли, он не знает, как предоставить вам способ взаимодействия с ними.
Кроме того, lldb — это платформа, управляемая событиями, но ваша новая цель подключена к прослушивателю событий, о котором Xcode ничего не знает, поэтому он не будет знать, как управлять своим циклом событий.
Даже если вам удалось заставить один из отладчиков в Xcode ждать событий вашей новой цели, Xcode ожидает одну цель для каждого отладчика, поэтому, если вы вызовете события для отображения второй цели, Xcode просто запутается.
Я думаю, что вы действительно хотите настроить последовательность запуска (по сути, сценарий действия части запуска кнопки сборки и запуска Xcode). Это вполне разумный запрос на улучшение. Если вы так мотивированы, не стесняйтесь отправлять сообщение об ошибке. В наши дни похоже, что для этой цели вы используете приложение Feedback Assistant. Смотрите:
https://developer.apple.com/bug-reporting/
Но я не думаю, что вам повезет в этом без сотрудничества с Xcode.
Комментарии:
1. Обратите внимание, существует множество других способов использования SB API в Xcode. Вы можете добавить команды на основе Python для улучшения работы с командной строкой. Вы можете добавить обратные вызовы точек останова на основе Python, распознаватели кадров и т. Д. Чего вы не можете сделать, так это создать совершенно новый сеанс отладки за спиной Xcode.